[gst-devel] Strange problem with glupload

Roland Peffer gdevel at clixxun.com
Tue Mar 23 14:35:28 CET 2010


Hi Julien,

you are right!  I just tried it....

feeding glupload with an  pixel-aspect-ratio that is not 1/1 lets the pipeline fail.

Seems to be a bug in glupload, since linking with glimagesink without glupload in advance works fine.

Thx ,
Roland


gst-launch -v videotestsrc ! video/x-raw-yuv,format=\(fourcc\)I420,width=720,height=576,pixel-aspect-ratio=\(fraction\)64/45,framerate=\(fraction\)25/1,interlaced=true ! glupload ! glimagesink


gst-launch -v videotestsrc ! video/x-raw-yuv,format=\(fourcc\)I420,width=720,height=576,framerate=\(fraction\)25/1,interlaced=true ! glupload ! glimagesink




On 23.03.2010, at 12:23, Julien Isorce wrote:

Hi,

I think this is due to the pixel aspect ratio that is not handled correctly by glupload.

Could you try to reproduce the pb using videotestsrc (and playing with caps (aspect ratio, framerate etcc)

Sincerely
Julien

2010/3/23 Roland Peffer <gdevel at clixxun.com>
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 ...


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100323/848a9bda/attachment.htm>


More information about the gstreamer-devel mailing list