virtual int encode_activate();
virtual int decode_activate();
+ virtual int write_packet(FFPacket &pkt);
int read_packet();
int seek(int64_t no, double rate);
- int write_packet(FFPacket &pkt);
int flush();
int decode(AVFrame *frame);
void load_markers(IndexMarks &marks, double rate);
int write(const float *fp, long len);
int zero(long len);
int write(const double *dp, long len, int ch);
+ int write_packet(FFPacket &pkt);
public:
FFAudioStream(FFMPEG *ffmpeg, AVStream *strm, int idx, int fidx);
virtual ~FFAudioStream();
int is_audio() { return 1; }
int is_video() { return 0; }
+ void init_swr(int ichs, int ifmt, int irate);
int get_samples(float *&samples, uint8_t **data, int len);
int load_history(uint8_t **data, int len);
int decode_frame(AVFrame *frame);
int64_t length;
SwrContext *resample_context;
+ int swr_ichs, swr_ifmt, swr_irate;
int aud_bfr_sz;
float *aud_bfr;
};
};
class FFVideoStream : public FFStream, public FFVideoConvert {
+ int write_packet(FFPacket &pkt);
public:
FFVideoStream(FFMPEG *ffmpeg, AVStream *strm, int idx, int fidx);
virtual ~FFVideoStream();