[gst-devel] Re: Re: why video do not play frequently under rate control

zhangfei gao gaozhangfei at yahoo.com.cn
Mon May 28 13:40:40 CEST 2007

hi, Jan
  Our resolution has a limitation which inhibits not using your ideas, adding queue between codec and render.
  In order to save memcpy time from codec to render, we just using codec buffer (hardware based) directly and using DMA to move data simultaneity, and codec only ensures do not use the same output buffer continuously.
  So if adding queue between codec and render will lead a problem, the screen is shrinking all the time, since data conflict, the buffer read by render is witten by codec at the same time.
  The mpeg2 stream I test last time is 6M bps, it will run 34fps at full speed, and block at original speed 30fps.
  Now I use 1.5M bps mpeg2 stream, it could run continuously at original speed 30fps, while it will reach 41 fps at full speed with 98% cup usage.
  I am so curious, how many additional fps gstreamer will downgrade. In other words, if I want to play at 30 fps fluently, how many fps need to achieve at full speed.

Jan Schmidt <thaytan at noraisin.net> 写道:
  zhangfei gao wrote:

> command line is
> gst-launch filesrc location=*.mpg ! flupsdemux ! mpeg2dec ! overlay2sink


> I thought video render discard frame because fps could not reach timestamp.
> But for 30 fps stream, why full speed fps can reach 34fps, while using
> timestamp still can not play frequently.
> Is there any tricky, since the same story on qtdemux and h264dec.

Add a queue between the decoder and the sink to decouple the decoding
and display into 2 separate threads and provide some buffering.
Something like
queue max-size-buffers=5 should do it.

When you get to playing audio too, you'll also want some queues between
the demuxer and the decoders.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070528/9b2ee73e/attachment.htm>

More information about the gstreamer-devel mailing list