summaryrefslogtreecommitdiff
path: root/libavformat/movenc.h
diff options
context:
space:
mode:
authorVishwanath Dixit <vdixit@akamai.com>2018-05-07 15:27:51 +0530
committerKarthick Jeyapal <kjeyapal@akamai.com>2018-05-29 09:32:11 +0530
commit5717cd80dcb825efcbcb0b936a02b755cd2d5f62 (patch)
tree8efefe30947bf1a94e6857daf7aef02f01aea019 /libavformat/movenc.h
parentf09635f2a2e653ab5f790b1e9d7a15794745ca30 (diff)
avformat/movenc: creating producer reference time (PRFT) box
The producer reference time box supplies relative wall-clock times at which movie fragments, or files containing movie fragments (such as segments) were produced. The box is mainly useful in live streaming use cases. A media player can parse the box and utilize the time fields to measure and improve the latency during real time playout.
Diffstat (limited to 'libavformat/movenc.h')
-rw-r--r--libavformat/movenc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/movenc.h b/libavformat/movenc.h
index c9b4072fb9..f2967bface 100644
--- a/libavformat/movenc.h
+++ b/libavformat/movenc.h
@@ -46,6 +46,7 @@
typedef struct MOVIentry {
uint64_t pos;
int64_t dts;
+ int64_t pts;
unsigned int size;
unsigned int samples_in_chunk;
unsigned int chunkNum; ///< Chunk number if the current entry is a chunk start otherwise 0
@@ -169,6 +170,13 @@ typedef enum {
MOV_ENC_CENC_AES_CTR,
} MOVEncryptionScheme;
+typedef enum {
+ MOV_PRFT_NONE = 0,
+ MOV_PRFT_SRC_WALLCLOCK,
+ MOV_PRFT_SRC_PTS,
+ MOV_PRFT_NB
+} MOVPrftBox;
+
typedef struct MOVMuxContext {
const AVClass *av_class;
int mode;
@@ -224,6 +232,7 @@ typedef struct MOVMuxContext {
int use_stream_ids_as_track_ids;
int track_ids_ok;
int write_tmcd;
+ MOVPrftBox write_prft;
} MOVMuxContext;
#define FF_MOV_FLAG_RTP_HINT (1 << 0)