Gstreamer issue on mac osx

Chuck Crisler ccrisler at mutualink.net
Thu Jan 17 07:31:18 PST 2013


Andoni is correct. These things are very much dependent on the target
system. I use scripts to build test/demo pipelines so that they are always
the same. I have run into problems when I copy a pipeline script to a new
system and sometimes it fails due to this very reason. When that happens
the error logging is correct but not 'enlightening' at all. You need to
learn that when you get that error -4 (not negotiated) you likely need a
ffmpegcolorspace filter just like queues solve blocking issues.

On Thu, Jan 17, 2013 at 6:40 AM, Andoni Morales <ylatuya at gmail.com> wrote:

> 2013/1/16 Gerard Toonstra <gtoonstra at gmail.com>:
> > Well…..
> >
> > It took me a day to figure things out.
> > I cleared the frameworks directory so that I'd be sure to start with
> everything new. Then installed the "brahmaputra" release 2012-11 over
> again. End result: exactly the same.
> >
> > then I went back on Linux where things do work and turned on more
> debugging to see the caps it was working with. I then explicitly took a
> note of the caps after rtph264depay:
> >
> > ./gst-launch-0.10 -vvv udpsrc multicast-group=239.255.12.12 port=5004
> auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96"
> ! rtph264depay ! "video/x-h264, stream-format=(string)byte-stream,
> alignment=(string)nal" ! ffdec_h264 ! ffmpegcolorspace ! autovideosink
> sync=false
> >
> > The stream-format and alignment issues were a red herring, because it
> seemed the defaults for both were wrong, so the data in the stream was
> overriding the default properties.
> >
> > Then I turned on debugging to the max and saw this on the osxvideosink,
> where it was trying to negotiate caps on the videosink and after the
> ffdec_h264:
> >
> > 0:00:02.125843000   483    0x102008850 DEBUG               GST_CAPS
> gstpad.c:2799:gst_pad_configure_sink:<autovideosink0-actual-sink-osxvideo:sink>
> caps 0x101873c80 not accepted
> > 0:00:02.125875000   483    0x102008850 INFO                 basesrc
> gstbasesrc.c:2570:gst_base_src_loop:<udpsrc0> pausing after gst_pad_push()
> = not-negotiated
> >
> > I inserted ffmpegcolorspace and it started working after that.
> >
> > Is there a way I can configure the machine so it doesn't need
> ffmpegcolorspace, or is this sink dependent?
>
> This depends on the sink capabilities. In this case, osxvideosink only
> supports YUY2, which is why you need a colorspace converter.
>
> Andoni
> >
> > Rgds,
> >
> > G>
> >
> >
> > On Jan 15, 2013, at 9:38 PM, Gerard Toonstra <gtoonstra at gmail.com>
> wrote:
> >
> >> Hi there,
> >>
> >> I have an IP cam that is configured to output UDP multicast. I'm
> getting video on Ubuntu Linux (12.10), but on Mac OSX there are issues.
> >> See here the output of two consecutive runs. The first one hangs, is
> aborted. The second one reports a "subclass rejected caps" issue,
> >> resulting in failure to negotiate.
> >>
> >> Does anyone know what the problem could be?  Missing libraries,
> incorrect versions?
> >>
> >> I installed gstreamer from here:
> >>
> >> http://docs.gstreamer.com/display/GstSDK/Installing+on+Mac+OS+X
> >>
> >> Running Mountain Lion on Mac OSX mini: 12.2.0 Darwin Kernel Version
> 12.2.0
> >>
> >> new-host-3:bin gt$ GST_DEBUG=2 ./gst-launch-0.10 -vvv udpsrc
> multicast-group=239.255.12.12 port=5004 auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96,width=(int)1280,height=(int)720"
> ! rtph264depay ! ffdec_h264 ! video/x-raw-yuv ! ffmpegcolorspace !
> autovideosink
> >> Setting pipeline to PAUSED ...
> >> Pipeline is live and does not need PREROLL ...
> >> Setting pipeline to PLAYING ...
> >> 0:00:00.126765000   499    0x10078bb00 WARN                     bin
> gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
> >> New clock: GstSystemClock
> >> ^CCaught interrupt -- handling interrupt.
> >> Interrupt: Stopping pipeline ...
> >> Execution ended after 46696132000 ns.
> >> Setting pipeline to PAUSED ...
> >> Setting pipeline to READY ...
> >> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = NULL
> >> Setting pipeline to NULL ...
> >> Freeing pipeline ...
> >> new-host-3:bin gt$ GST_DEBUG=2 ./gst-launch-0.10 -vvv udpsrc
> multicast-group=239.255.12.12 port=5004 auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96,width=(int)1280,height=(int)720"
> ! rtph264depay ! ffdec_h264 ! video/x-raw-yuv ! ffmpegcolorspace !
> autovideosink
> >> Setting pipeline to PAUSED ...
> >> Pipeline is live and does not need PREROLL ...
> >> Setting pipeline to PLAYING ...
> >> 0:00:00.152357000   519    0x100763700 WARN                     bin
> gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
> >> New clock: GstSystemClock
> >> 0:00:00.166522000   519    0x100819050 WARN            rtph264depay
> gstrtph264depay.c:280:gst_rtp_h264_depay_negotiate:<rtph264depay0>
> overriding property setting based on caps
> >> 0:00:00.166550000   519    0x100819050 WARN            rtph264depay
> gstrtph264depay.c:288:gst_rtp_h264_depay_negotiate:<rtph264depay0>
> overriding property setting based on caps
> >> 0:00:00.166558000   519    0x100819050 WARN        basertpdepayload
> gstbasertpdepayload.c:246:gst_base_rtp_depayload_setcaps:<rtph264depay0>
> Subclass rejected caps 0x102005440
> >> 0:00:00.166588000   519    0x100819050 WARN                 basesrc
> gstbasesrc.c:2633:gst_base_src_loop:<udpsrc0> error: Internal data flow
> error.
> >> 0:00:00.166596000   519    0x100819050 WARN                 basesrc
> gstbasesrc.c:2633:gst_base_src_loop:<udpsrc0> error: streaming task paused,
> reason not-negotiated (-4)
> >> 0:00:00.166653000   519    0x100819050 ERROR                 ffmpeg
> gstffmpegdec.c:2359:gst_ffmpegdec_frame:<ffdec_h2640> no codec context
> >> ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal
> data flow error.
> >> Additional debug info:
> >> gstbasesrc.c(2633): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
> >> streaming task paused, reason not-negotiated (-4)
> >> Execution ended after 14420000 ns.
> >> Setting pipeline to PAUSED ...
> >> Setting pipeline to READY ...
> >> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = NULL
> >> Setting pipeline to NULL ...
> >> Freeing pipeline ...
> >>
> >>
> >> Rgds,
> >>
> >> Gerard
> >>
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> Andoni Morales Alastruey
>
> LongoMatch:The Digital Coach
> http://www.longomatch.ylatuya.es
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130117/bdfa4ca9/attachment-0001.html>


More information about the gstreamer-devel mailing list