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
uint32_t default_size;
HintSampleQueue sample_queue;
+ AVPacket cover_image;
AVIOContext *mdat_buf;
int64_t data_offset;
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;
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)
#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)
+#define FF_MOV_FLAG_SKIP_SIDX (1 << 21)
int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt);