[gst-devel] Strange problem with glupload

Julien Isorce julien.isorce at gmail.com
Tue Mar 23 14:51:22 CET 2010


I just realized there is already an open bug about it :
https://bugzilla.gnome.org/show_bug.cgi?id=593165

2010/3/23 Roland Peffer <gdevel at clixxun.com>

> 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
>
>
>
> ------------------------------------------------------------------------------
> 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/61c4f96c/attachment.htm>


More information about the gstreamer-devel mailing list