[Bug 721078] New: videodecoder: cannot call gst_video_decoder_negotiate without output_state
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Dec 26 02:14:36 PST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=721078
GStreamer | gst-plugins-base | 1.2.1
Summary: videodecoder: cannot call gst_video_decoder_negotiate
without output_state
Classification: Platform
Product: GStreamer
Version: 1.2.1
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: julien.isorce at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=264898)
View: https://bugzilla.gnome.org/attachment.cgi?id=264898
Review: https://bugzilla.gnome.org/review?bug=721078&attachment=264898
videodecoder: can call negotiate without output state
The line "g_return_val_if_fail (decoder->priv->output_state, FALSE);" in
"gst_video_decoder_negotiate"
was introduced in master here
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=0c2c909497f5f97074cf1b0d26bd14939f892b6f
and then merged in 1.2 branch.
Then the line has been removed in master with this commit
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=cd52ff313e2c9eca0d20787f598b1d752da4c5f7
but not merged in 1.2 branch.
So that now the line is present 1.2 branch and not in master.
Since mfcdec calls gst_video_decoder_set_output_state in subclass function
"negotiate", the check always fails in 1.2 branch. After a very quick look I
have not seen another decoder which does that. So maybe the pb is mfcdec. But I
can confirm that mfcdec works if I remove the check.
For encoders, the line is present in both master and 1.2 branch. For
audio(dec/enc) there is no point because no output_state.
In the end I do not know what the best solution, i.e. if the line
"g_return_val_if_fail (decoder->priv->output_state, FALSE);" should be or not
be present in gstvideodecoder::gst_video_decoder_negotiate .
But I think we should let the user be responsible for this, so just allow to do
that. Maybe the check was just introduced by mistake in the first commit.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list