xine-lib: Special buffer types:

xine-lib 1.2.12

Special buffer types:

Sometimes there is a need to relay special information from a demuxer to a video decoder. For example, some file types store palette data in the file header independant of the video data. The special buffer type offers a way to communicate this or any other custom, format-specific data to the decoder.

The interface was designed in a way that did not require an API version bump. To send a special buffer type, set a buffer's flags field to BUF_FLAG_SPECIAL. Set the buffer's decoder_info[1] field to a number according to one of the special buffer subtypes defined below. The second and third decoder_info[] fields are defined according to your buffer type's requirements.

Finally, remember to set the buffer's size to 0. This way, if a special buffer is sent to a decode that does not know how to handle it, the buffer will fall through to the case where the buffer's data content is accumulated and no harm will be done.