[gst-devel] Strange problem with glupload

Nicholas Panayis nick at movency.com
Tue Mar 23 14:57:27 CET 2010


Hi,

I have also seen this issue - I used videoscale before glupload as a 
work-around until the bug is fixed.

Cheers,

Nick

Julien Isorce wrote:
> 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 <mailto: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
>     <mailto: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
>         <mailto: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
>     <mailto: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
>     <mailto: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
>   





More information about the gstreamer-devel mailing list