[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