mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat: Add internal flags for AV(In|Out)putFormat
Both AVInputFormat and AVOutputFormat currently lack an equivalent to AVCodec's caps_internal. E.g. if reading a header fails, each demuxer is currently required to clean up manually, which often means to just call the demuxer's read_close function. This could (and will) be done generically via an equivalent of FF_CODEC_CAP_INIT_CLEANUP. Because of the unholy ABI-relationship between libavdevice and libavformat adding such a flag is only possible when the ABI is open (despite the flag not being part of the public API), such as now. Therefore such a flag is also added to AVOutputFormat, despite there being no immediate use for it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
758e2da289
commit
0f6b34bfec
@ -535,6 +535,11 @@ typedef struct AVOutputFormat {
|
|||||||
*/
|
*/
|
||||||
int priv_data_size;
|
int priv_data_size;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal flags. See FF_FMT_FLAG_* in internal.h.
|
||||||
|
*/
|
||||||
|
int flags_internal;
|
||||||
|
|
||||||
int (*write_header)(struct AVFormatContext *);
|
int (*write_header)(struct AVFormatContext *);
|
||||||
/**
|
/**
|
||||||
* Write a packet. If AVFMT_ALLOW_FLUSH is set in flags,
|
* Write a packet. If AVFMT_ALLOW_FLUSH is set in flags,
|
||||||
@ -674,6 +679,11 @@ typedef struct AVInputFormat {
|
|||||||
*/
|
*/
|
||||||
int priv_data_size;
|
int priv_data_size;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal flags. See FF_FMT_FLAG_* in internal.h.
|
||||||
|
*/
|
||||||
|
int flags_internal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tell if a given file has a chance of being parsed as this format.
|
* Tell if a given file has a chance of being parsed as this format.
|
||||||
* The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
|
* The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
|
||||||
|
Loading…
Reference in New Issue
Block a user