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?
Thanks,
Tony ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Tony Beville
Hi,
Tony Beville schrieb: > 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 } 1st, the '{' are used in 0.8 No need anymore. 2nd, make it easier: filesrc location=vidfile ! decodebin name=d ! autovideosink d. ! audioconvert ! autoaudiosink or even: playbin uri=file://$PWD/vidfile Stefan > > 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? > > Thanks, > > Tony > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Please tell me
Where I get gst-plug-in 0.10 versions with plug-in "mad"? Or please tell me how I can include plug-in "mad" with gst-plug-in base 0.10.21 (in which there is no mad plug in) Thanks.. ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi ,,,
For "mad" first build libmad library and then buil gst-plugin-ugly package ( http://gstreamer.freedesktop.org/src/) .
On Mon, Dec 22, 2008 at 12:40 PM, Vaisakh N. <[hidden email]> wrote: Please tell me -- Regards, Sudarshan Bisht ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |