[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® 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® 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® 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® 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