This gets them off the ABI altogether at the cost of breaking the ABI once more now.
Signed-off-by: Andreas Rheinhardt <[email protected]> --- Do this and the preceding patch need a version bump? libavformat/avio.h | 98 ++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 51 deletions(-) diff --git a/libavformat/avio.h b/libavformat/avio.h index 0b35409787..ebf43bfe15 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -148,9 +148,9 @@ enum AVIODataMarkerType { /** * Bytestream IO Context. - * New fields can be added to the end with minor version bumps. - * Removal, reordering and changes to existing fields require a major - * version bump. + * New public fields can be added with minor version bumps. + * Removal, reordering and changes to existing public fields require + * a major version bump. * sizeof(AVIOContext) must not be used outside libav*. * * @note None of the function pointers in AVIOContext should be called @@ -237,12 +237,14 @@ typedef struct AVIOContext { int64_t (*seek)(void *opaque, int64_t offset, int whence); int64_t pos; /**< position in the file of the current buffer */ int eof_reached; /**< true if was unable to read due to error or eof */ + int error; /**< contains the error code or 0 if no error happened */ int write_flag; /**< true if open for writing */ int max_packet_size; + int min_packet_size; /**< Try to buffer at least this amount of data + before flushing it. */ unsigned long checksum; unsigned char *checksum_ptr; unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size); - int error; /**< contains the error code or 0 if no error happened */ /** * Pause or resume playback for network streaming protocols - e.g. MMS. */ @@ -259,12 +261,6 @@ typedef struct AVIOContext { */ int seekable; - /** - * max filesize, used to limit allocations - * This field is internal to libavformat and access from outside is not allowed. - */ - int64_t maxsize; - /** * avio_read and avio_write should if possible be satisfied directly * instead of going through a buffer, and avio_seek will always @@ -272,37 +268,6 @@ typedef struct AVIOContext { */ int direct; - /** - * Bytes read statistic - * This field is internal to libavformat and access from outside is not allowed. - */ - int64_t bytes_read; - - /** - * seek statistic - * This field is internal to libavformat and access from outside is not allowed. - */ - int seek_count; - - /** - * writeout statistic - * This field is internal to libavformat and access from outside is not allowed. - */ - int writeout_count; - - /** - * Original buffer size - * used internally after probing and ensure seekback to reset the buffer size - * This field is internal to libavformat and access from outside is not allowed. - */ - int orig_buffer_size; - - /** - * Threshold to favor readahead over seek. - * This is current internal only, do not use from outside. - */ - int short_seek_threshold; - /** * ',' separated list of allowed protocols. */ @@ -325,30 +290,61 @@ typedef struct AVIOContext { */ int ignore_boundary_point; + int64_t written; + + /** + * Maximum reached position before a backward seek in the write buffer, + * used keeping track of already written data for a later flush. + */ + unsigned char *buf_ptr_max; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavformat and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + /** + * A callback that is used instead of short_seek_threshold. + * This is currently internal only, do not use from outside. + */ + int (*short_seek_get)(void *opaque); + /** - * Internal, not meant to be used from outside of AVIOContext. + * Threshold to favor readahead over seek. + * This is currently internal only, do not use from outside. */ + int short_seek_threshold; + enum AVIODataMarkerType current_type; int64_t last_time; /** - * A callback that is used instead of short_seek_threshold. - * This is current internal only, do not use from outside. + * max filesize, used to limit allocations */ - int (*short_seek_get)(void *opaque); + int64_t maxsize; - int64_t written; + /** + * Bytes read statistic + */ + int64_t bytes_read; /** - * Maximum reached position before a backward seek in the write buffer, - * used keeping track of already written data for a later flush. + * seek statistic */ - unsigned char *buf_ptr_max; + int seek_count; + + /** + * writeout statistic + */ + int writeout_count; /** - * Try to buffer at least this amount of data before flushing it + * Original buffer size + * used after probing to ensure seekback and to reset the buffer size */ - int min_packet_size; + int orig_buffer_size; } AVIOContext; /** -- 2.30.2 _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
