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

Rémi Denis-Courmont remi at remlab.net
Thu Sep 17 10:24:50 CEST 2009

On Tue, 15 Sep 2009 15:16:48 +0800, jetta <jettatang at gmail.com> wrote:
> 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.

Then you need to declare a new video chroma type, so that VLC will not try
to filter and/or convert the picture data.

> 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.

In my understanding, the decoder fills as many picture buffers as are
available, then stops. If the video output declares only one buffer, it
should work.

> I want to keep only one direct buffer, and hope It could be serial
> video_decoder and video_output, so change the macro VOUT_MAX_PICTURES to
> 2,
> but receive a output error "pictures leaked, resetting the heap".

There is no point in changing VOUT_MAX_PICTURES. You need to change the
number of picture buffers that the video output plugins allocates, not the
maximum number of allowed pictures for all plugins.

Rémi Denis-Courmont

More information about the vlc-devel mailing list