[gstreamer-bugs] [Bug 542758] New: [playbin2] Hangs in PLAYING forever if caps are not a subset of pad template caps

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sun Jul 13 03:28:17 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=542758

  GStreamer | gst-plugins-base | Ver: HEAD CVS
           Summary: [playbin2] Hangs in PLAYING forever if caps are not a
                    subset of pad template caps
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Hi,
playbin2 currently has some problems with the file from bug #542646 too. If the
check in gstmpeg2dec.c:631 is removed there will be caps that are not a subset
of the pad template caps:

$ gst-launch-0.10 -v playbin2 uri=file://`pwd`/ffplay.m2v
Setting pipeline to PAUSED ...
/playbin20/uridecodebin0: source = (GstFileSrc) source
/playbin20/uridecodebin0/decodebin20/typefind.src: caps = video/mpeg,
systemstream=(boolean)false, mpegversion=(int)1
/playbin20/uridecodebin0/decodebin20/mpeg2dec0.sink: caps = video/mpeg,
systemstream=(boolean)false, mpegversion=(int)1
/playbin20/uridecodebin0/decodebin20/mpeg2dec0.src: caps = video/x-raw-yuv,
format=(fourcc)I420, width=(int)704, height=(int)4580,
pixel-aspect-ratio=(fraction)1145/132, framerate=(fraction)30000/1001
0:00:00.549227105 15019  0x918e3e0 ERROR             GST_CAPS
gstpad.c:1998:gst_pad_get_caps_unlocked:<mpeg2dec0:src> pad returned caps
video/x-raw-yuv, format=(fourcc)I420, width=(int)704, height=(int)4580,
pixel-aspect-ratio=(fraction)1145/132, framerate=(fraction)30000/1001 which are
not a real subset of its template caps video/x-raw-yuv, format=(fourcc){ YV12,
I420, Y42B }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]

(gst-launch-0.10:15019): GStreamer-WARNING **: pad mpeg2dec0:src returned caps
which are not a real subset of its template caps
Pipeline is PREROLLED ...
0:00:00.550094885 15019  0x918e3e0 ERROR             playbin2
gstplaybin2.c:1795:perform_eos:<playbin20> failed to send EOS
Setting pipeline to PLAYING ...
New clock: GstSystemClock




And this forever. Changing the template caps to have width/hight in [16,MAX]
will let playbin2 properly error out, same as with the check in line 631
enabled (i.e. what is in CVS).


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=542758.




More information about the Gstreamer-bugs mailing list