[gst-devel] detecting audio drop

Wim Taymans wim.taymans at gmail.com
Sat Dec 20 21:13:06 CET 2008


On Sat, 2008-12-20 at 11:23 -0800, Tony Beville wrote:
> I'm a relative novice with gstreamer, and had just developed some
> plugins for our emebedded system to use the the hardware video
> decoding, scaling and colorspace conversion.
>  
> We have written a custom app for playback, and for the most part it
> works great.  With some videos, though, the time to display a frame is
> too slow for the given framerate, and when playing, the audio will
> stop eventually, but the video will continue.  I am assuming this
> happens because the two threads are out of sync.  Pipeline looks like
> something this:
>  
> filesrc location=vidfile ! qtdemux name=d ! { queue ! decodebin  !
> autovideosink } { d. ! queue  ! decodebin ! audioconvert !
> autoaudiosink }
>  
>  If I add the videorate element to the pipeline, and slow down the
> framerate, those videos will play better (but of course more choppy):
>  
> filesrc location=vidfile  ! qtdemux name=d ! { queue ! decodebin !
> videorate ! video/x-raw-yuv, framerate=15/1 !  autovideosink  } { d. !
> queue  ! decodebin ! audioconvert ! autoaudiosink }
>  
>  
> What I would like to do is have the app detect when the when the audio
> drops, and dynamically lower the caps filter to a slower rate until
> audio restarts.  
>  
> I am guessing there is a signal or message or callback I can set, but
> I am unable to work out what.  Is this even possible?

You should check out the QoS events and the theory behind it here:

http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/part-qos.txt?revision=1.8&view=markup

Wim

>  
> Thanks,
>  
> Tony
> ------------------------------------------------------------------------------
> _______________________________________________
> 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