summaryrefslogtreecommitdiffstats
path: root/libavformat/avio.h
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2017-06-18 14:38:39 +0200
committerMarton Balint <cus@passwd.hu>2017-06-24 18:51:29 +0200
commit09891c53916224abfb07c91064654189c46d034c (patch)
tree51af6b9caedb8f3f376abe7f5efec4595b75e8c0 /libavformat/avio.h
parentc14fa7a330f634738003bee731f17ff4c5717228 (diff)
downloadffmpeg-streaming-09891c53916224abfb07c91064654189c46d034c.zip
ffmpeg-streaming-09891c53916224abfb07c91064654189c46d034c.tar.gz
avformat/aviobuf: add support for specifying minimum packet size and marking flush points
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/avio.h')
-rw-r--r--libavformat/avio.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/libavformat/avio.h b/libavformat/avio.h
index 844a572..f14b003 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -137,7 +137,13 @@ enum AVIODataMarkerType {
* Trailer data, which doesn't contain actual content, but only for
* finalizing the output file.
*/
- AVIO_DATA_MARKER_TRAILER
+ AVIO_DATA_MARKER_TRAILER,
+ /**
+ * A point in the output bytestream where the underlying AVIOContext might
+ * flush the buffer depending on latency or buffering requirements. Typically
+ * means the end of a packet.
+ */
+ AVIO_DATA_MARKER_FLUSH_POINT,
};
/**
@@ -339,6 +345,11 @@ typedef struct AVIOContext {
* used keeping track of already written data for a later flush.
*/
unsigned char *buf_ptr_max;
+
+ /**
+ * Try to buffer at least this amount of data before flushing it
+ */
+ int min_packet_size;
} AVIOContext;
/**
OpenPOWER on IntegriCloud