00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef AVFORMAT_AUDIOINTERLEAVE_H
00024 #define AVFORMAT_AUDIOINTERLEAVE_H
00025
00026 #include "libavutil/fifo.h"
00027 #include "avformat.h"
00028
00029 typedef struct {
00030 AVFifoBuffer fifo;
00031 unsigned fifo_size;
00032 uint64_t dts;
00033 int sample_size;
00034 const int *samples_per_frame;
00035 const int *samples;
00036 AVRational time_base;
00037 } AudioInterleaveContext;
00038
00039 int ff_audio_interleave_init(AVFormatContext *s, const int *samples_per_frame, AVRational time_base);
00040 void ff_audio_interleave_close(AVFormatContext *s);
00041
00042 int ff_interleave_compare_dts(AVFormatContext *s, AVPacket *next, AVPacket *pkt);
00052 int ff_audio_rechunk_interleave(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush,
00053 int (*get_packet)(AVFormatContext *, AVPacket *, AVPacket *, int),
00054 int (*compare_ts)(AVFormatContext *, AVPacket *, AVPacket *));
00055
00056 #endif