AVFormatContext: add metadata_header_padding field
This field is used to store the number of bytes that should be written as padding to a metadata header of a file. For example: - The FLAC format's METADATA_BLOCK_PADDING [1] - The ID3v2 tag format's padding [2] [1] http://xiph.org/flac/format.html#metadata_block_padding [2] http://id3.org/id3v2.3.0#ID3v2_overview Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
committed by
Michael Niedermayer
parent
1d07385053
commit
86bee7984e
@ -1348,6 +1348,13 @@ typedef struct AVFormatContext {
|
|||||||
* Demuxing: Set by user via av_format_set_subtitle_codec (NO direct access).
|
* Demuxing: Set by user via av_format_set_subtitle_codec (NO direct access).
|
||||||
*/
|
*/
|
||||||
AVCodec *subtitle_codec;
|
AVCodec *subtitle_codec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of bytes to be written as padding in a metadata header.
|
||||||
|
* Demuxing: Unused.
|
||||||
|
* Muxing: Set by user via av_format_set_metadata_header_padding.
|
||||||
|
*/
|
||||||
|
int metadata_header_padding;
|
||||||
} AVFormatContext;
|
} AVFormatContext;
|
||||||
|
|
||||||
int av_format_get_probe_score(const AVFormatContext *s);
|
int av_format_get_probe_score(const AVFormatContext *s);
|
||||||
@ -1357,6 +1364,8 @@ AVCodec * av_format_get_audio_codec(const AVFormatContext *s);
|
|||||||
void av_format_set_audio_codec(AVFormatContext *s, AVCodec *c);
|
void av_format_set_audio_codec(AVFormatContext *s, AVCodec *c);
|
||||||
AVCodec * av_format_get_subtitle_codec(const AVFormatContext *s);
|
AVCodec * av_format_get_subtitle_codec(const AVFormatContext *s);
|
||||||
void av_format_set_subtitle_codec(AVFormatContext *s, AVCodec *c);
|
void av_format_set_subtitle_codec(AVFormatContext *s, AVCodec *c);
|
||||||
|
int av_format_get_metadata_header_padding(const AVFormatContext *s);
|
||||||
|
void av_format_set_metadata_header_padding(AVFormatContext *s, int c);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the method used to set ctx->duration.
|
* Returns the method used to set ctx->duration.
|
||||||
|
@ -77,6 +77,7 @@ static const AVOption avformat_options[] = {
|
|||||||
{"skip_initial_bytes", "set number of bytes to skip before reading header and frames", OFFSET(skip_initial_bytes), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, D},
|
{"skip_initial_bytes", "set number of bytes to skip before reading header and frames", OFFSET(skip_initial_bytes), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, D},
|
||||||
{"correct_ts_overflow", "correct single timestamp overflows", OFFSET(correct_ts_overflow), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, D},
|
{"correct_ts_overflow", "correct single timestamp overflows", OFFSET(correct_ts_overflow), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, D},
|
||||||
{"flush_packets", "enable flushing of the I/O context after each packet", OFFSET(flush_packets), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, E},
|
{"flush_packets", "enable flushing of the I/O context after each packet", OFFSET(flush_packets), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, E},
|
||||||
|
{"metadata_header_padding", "set number of bytes to be written as padding in a metadata header", OFFSET(metadata_header_padding), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, E},
|
||||||
{NULL},
|
{NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,6 +103,7 @@ MAKE_ACCESSORS(AVStream, stream, AVRational, r_frame_rate)
|
|||||||
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, video_codec)
|
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, video_codec)
|
||||||
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, audio_codec)
|
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, audio_codec)
|
||||||
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, subtitle_codec)
|
MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, subtitle_codec)
|
||||||
|
MAKE_ACCESSORS(AVFormatContext, format, int, metadata_header_padding)
|
||||||
|
|
||||||
static AVCodec *find_decoder(AVFormatContext *s, AVStream *st, enum AVCodecID codec_id)
|
static AVCodec *find_decoder(AVFormatContext *s, AVStream *st, enum AVCodecID codec_id)
|
||||||
{
|
{
|
||||||
|
@ -30,8 +30,8 @@
|
|||||||
#include "libavutil/version.h"
|
#include "libavutil/version.h"
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_MAJOR 55
|
#define LIBAVFORMAT_VERSION_MAJOR 55
|
||||||
#define LIBAVFORMAT_VERSION_MINOR 25
|
#define LIBAVFORMAT_VERSION_MINOR 26
|
||||||
#define LIBAVFORMAT_VERSION_MICRO 101
|
#define LIBAVFORMAT_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||||
LIBAVFORMAT_VERSION_MINOR, \
|
LIBAVFORMAT_VERSION_MINOR, \
|
||||||
|
Reference in New Issue
Block a user