X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmovenc.h;h=fe605d1ad2facec454589da1c71e9b506311c53b;hb=b4ca32414ea28ad29b4bd387c298f5a676dace2a;hp=c4e966b7fb75f90cdfb9eb91656e31c87c569c5c;hpb=cfff6d1f777cdf4ddd5004b29e13ac33d22341f5;p=ffmpeg diff --git a/libavformat/movenc.h b/libavformat/movenc.h index c4e966b7fb7..fe605d1ad2f 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 @@ -132,6 +133,7 @@ typedef struct MOVTrack { uint32_t default_size; HintSampleQueue sample_queue; + AVPacket cover_image; AVIOContext *mdat_buf; int64_t data_offset; @@ -168,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; @@ -223,6 +232,8 @@ typedef struct MOVMuxContext { int use_stream_ids_as_track_ids; int track_ids_ok; int write_tmcd; + MOVPrftBox write_prft; + int empty_hdlr_name; } MOVMuxContext; #define FF_MOV_FLAG_RTP_HINT (1 << 0) @@ -245,6 +256,7 @@ typedef struct MOVMuxContext { #define FF_MOV_FLAG_USE_MDTA (1 << 17) #define FF_MOV_FLAG_SKIP_TRAILER (1 << 18) #define FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS (1 << 19) +#define FF_MOV_FLAG_FRAG_EVERY_FRAME (1 << 20) int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt);