[gst-devel] Strange problem with glupload

Roland Peffer gdevel at clixxun.com
Tue Mar 23 10:25:37 CET 2010


Hi,

I have a strange behavior regarding the glupload plugin.

If I run:
> gst-launch -v filesrc location='/home/rpeffer/Videos/rec.mpeg' ! decodebin  ! queue max-size-buffers=0 max-size-time=0 ! glimagesink
all works fine.

But I want to use glupload to make use of the gldeinterlace plugin as well, so I tried 

st-launch -v filesrc location='/home/rpeffer/Videos/rec.mpeg' ! decodebin  ! queue max-size-buffers=0 max-size-time=0 ! glupload  ! glimagesink

what as far as I understand should do the same playback. But I get an error

gstbasesrc.c(2378): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.


My first idea was that glupload may not like the interlaced flag. But even if I deinterlace the stream in advance the same error shows up.
The strange thing is that on other movie files it works. The one mpeg file  I just use for testing is a recording from a USB dvb-t dongle.

Anyway, the question I have is why can it be that with only glimagesink the pipeline works without problems, but with glupload before glimagesink the pipeline won't run.

Any hints are mostly welcome!

Roland


PS The compete gst-luanch output is listed below:



--------------------------------------------------- this works -------------------------------------------------
$ gst-launch -v filesrc location='/home/rpeffer/Videos/rec.mpeg' ! decodebin  ! queue max-size-buffers=0 max-size-time=0 ! glimagesink

(gst-launch-0.10:20605): GLib-WARNING **: g_set_prgname() called multiple times
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/mpeg, systemstream=(boolean)false, mpegversion=(int)1
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:sink: caps = video/mpeg, systemstream=(boolean)false, mpegversion=(int)1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:src: caps = video/mpeg, systemstream=(boolean)false, parsed=(boolean)true, mpegversion=(int)2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)64/45, interlaced=(boolean)true, codec_data=(buffer)000001b32d024033249f23821022222e262e383838383e3e4a444a545454505050585a5a5a6262627c7c7c6a6a6a626274748080888894a6a098989498b4b4bebebef8f8eeef3d3d47a9a9ff1111111713171c1c1c1c1f1f2522252a2a2a2828282c2d2d2d3131313e3e3e35353531313a3a404044444a53504c4c4a4c5a5a5f5f5f7c7c77779e9ea3d4d4ff000001b5148200010000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:sink: caps = video/mpeg, systemstream=(boolean)false, parsed=(boolean)true, mpegversion=(int)2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)64/45, interlaced=(boolean)true, codec_data=(buffer)000001b32d024033249f23821022222e262e383838383e3e4a444a545454505050585a5a5a6262627c7c7c6a6a6a626274748080888894a6a098989498b4b4bebebef8f8eeef3d3d47a9a9ff1111111713171c1c1c1c1f1f2522252a2a2a2828282c2d2d2d3131313e3e3e35353531313a3a404044444a53504c4c4a4c5a5a5f5f5f7c7c77779e9ea3d4d4ff000001b5148200010000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstGLImageSink:glimagesink0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 15320225883 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstGLImageSink:glimagesink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...


--------------------------------------------------- this fails -------------------------------------------------
>$ gst-launch -v filesrc location='/home/rpeffer/Videos/rec.mpeg' ! decodebin  ! queue max-size-buffers=0 max-size-time=0 ! glupload  ! glimagesink

(gst-launch-0.10:20595): GLib-WARNING **: g_set_prgname() called multiple times
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/mpeg, systemstream=(boolean)false, mpegversion=(int)1
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:sink: caps = video/mpeg, systemstream=(boolean)false, mpegversion=(int)1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:src: caps = video/mpeg, systemstream=(boolean)false, parsed=(boolean)true, mpegversion=(int)2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)64/45, interlaced=(boolean)true, codec_data=(buffer)000001b32d024033249f23821022222e262e383838383e3e4a444a545454505050585a5a5a6262627c7c7c6a6a6a626274748080888894a6a098989498b4b4bebebef8f8eeef3d3d47a9a9ff1111111713171c1c1c1c1f1f2522252a2a2a2828282c2d2d2d3131313e3e3e35353531313a3a404044444a53504c4c4a4c5a5a5f5f5f7c7c77779e9ea3d4d4ff000001b5148200010000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:sink: caps = video/mpeg, systemstream=(boolean)false, parsed=(boolean)true, mpegversion=(int)2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)64/45, interlaced=(boolean)true, codec_data=(buffer)000001b32d024033249f23821022222e262e383838383e3e4a444a545454505050585a5a5a6262627c7c7c6a6a6a626274748080888894a6a098989498b4b4bebebef8f8eeef3d3d47a9a9ff1111111713171c1c1c1c1f1f2522252a2a2a2828282c2d2d2d3131313e3e3e35353531313a3a404044444a53504c4c4a4c5a5a5f5f5f7c7c77779e9ea3d4d4ff000001b5148200010000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)64/45, framerate=(fraction)25/1, interlaced=(boolean)true
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2378): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg2dec:mpeg2dec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/MpegVideoParse:mpegvideoparse0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
Freeing pipeline ...





More information about the gstreamer-devel mailing list