#include <vlc_block.h>
#include <vlc_es.h>
+#include <vlc_picture.h>
+#include <vlc_subpicture.h>
/**
* \file
es_format_t fmt_out;
/* Some decoders only accept packetized data (ie. not truncated) */
- bool b_need_packetized;
+ bool b_need_packetized;
/* Tell the decoder if it is allowed to drop frames */
- bool b_pace_control;
+ bool b_pace_control;
/* */
picture_t * ( * pf_decode_video )( decoder_t *, block_t ** );
* globaly, not necessary for the current packet */
block_t * ( * pf_get_cc ) ( decoder_t *, bool pb_present[4] );
+ /* Meta data at codec level
+ * The decoder owner set it back to NULL once it has retreived what it needs.
+ * The decoder owner is responsible of its release except when you overwrite it.
+ */
+ vlc_meta_t *p_description;
+
/*
* Owner fields
* XXX You MUST not use them directly.
/* SPU output callbacks
* XXX use decoder_NewSubpicture and decoder_DeleteSubpicture */
- subpicture_t *(*pf_spu_buffer_new)( decoder_t * );
+ subpicture_t *(*pf_spu_buffer_new)( decoder_t *, const subpicture_updater_t * );
void (*pf_spu_buffer_del)( decoder_t *, subpicture_t * );
/* Input attachments
/* Private structure for the owner of the decoder */
decoder_owner_sys_t *p_owner;
+
+ bool b_error;
};
/**
*/
/**
- * \defgroup decoder Encoder
+ * \defgroup encoder Encoder
*
* The structure describing a Encoder
*
* buffer. You have to release it using decoder_DeletePicture or by returning
* it to the caller as a pf_decode_video return value.
*/
-VLC_EXPORT( picture_t *, decoder_NewPicture, ( decoder_t * ) );
+VLC_EXPORT( picture_t *, decoder_NewPicture, ( decoder_t * ) LIBVLC_USED );
/**
* This function will release a picture create by decoder_NewPicture.
* output buffer. You have to release it using decoder_DeleteAudioBuffer
* or by returning it to the caller as a pf_decode_audio return value.
*/
-VLC_EXPORT( aout_buffer_t *, decoder_NewAudioBuffer, ( decoder_t *, int i_size ) );
+VLC_EXPORT( aout_buffer_t *, decoder_NewAudioBuffer, ( decoder_t *, int i_size ) LIBVLC_USED );
/**
* This function will release a audio buffer created by decoder_NewAudioBuffer.
* buffer. You have to release it using decoder_DeleteSubpicture or by returning
* it to the caller as a pf_decode_sub return value.
*/
-VLC_EXPORT( subpicture_t *, decoder_NewSubpicture, ( decoder_t * ) );
+VLC_EXPORT( subpicture_t *, decoder_NewSubpicture, ( decoder_t *, const subpicture_updater_t * ) LIBVLC_USED );
/**
* This function will release a subpicture created by decoder_NewSubicture.
* This function returns the current input rate.
* You MUST use it *only* for gathering statistics about speed.
*/
-VLC_EXPORT( int, decoder_GetDisplayRate, ( decoder_t * ) );
+VLC_EXPORT( int, decoder_GetDisplayRate, ( decoder_t * ) LIBVLC_USED );
#endif /* _VLC_CODEC_H */