[vlc-devel] Sync problem between video_output and video_out.

jetta jettatang at gmail.com
Tue Sep 15 09:16:48 CEST 2009

Hi all,
I have implemented a hardware decoder in the form of FFMPEG/libavcodec, and
have a XV support for Xorg's fbdev driver. I want to use vlc to call them
with option "--ffmpeg-dr  -vo xv".
Now the problem is that my decoder's "output data" is just include pointers
that point to actual decoded data. In  single-thread media player(MPlayer),
The decoder's output data is send to VO directly and this is serial. The
decoder will not continue before the image is displayed, So the actual
output data buffer that the Physical/Virtual Addresses point to will not be
overlaid by decoder.
But in VLC,  it seems that only the first frame is displayed. I guess that
there is a lack of sync mechanism between decoder and vout. I can not ensure
that the address in the picture out/render buffers still point to the
invalid data.
I want to keep only one direct buffer, and hope It could be serial between
video_decoder and video_output, so change the macro VOUT_MAX_PICTURES to 2,
but receive a output error "pictures leaked, resetting the heap".
Hope someone can help me, how to solve this problem or give me some
suggestions how to synchronize the decoder and xv,
Thanks in advance!
Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090915/8d19f7a8/attachment.html>

More information about the vlc-devel mailing list