1#ifndef AVFORMATWRITER_H_
2#define AVFORMATWRITER_H_
13#include "libavcodec/avcodec.h"
14#include "libavformat/avformat.h"
23 bool Init (
void)
override;
27 int WriteAudioFrame (
unsigned char *
Buffer,
int FrameNumber, std::chrono::milliseconds &Timecode)
override;
29 std::chrono::milliseconds Timecode,
int PageNumber)
override;
33 bool NextFrameIsKeyFrame (
void);
34 bool ReOpen (
const QString& Filename);
37 bool openFileHelper();
38 AVStream* AddVideoStream (
void);
39 bool OpenVideo (
void);
40 AVStream* AddAudioStream (
void);
41 bool OpenAudio (
void);
42 AVFrame* AllocPicture (
enum AVPixelFormat PixFmt);
44 AVRational GetCodecTimeBase (
void);
45 static bool FindAudioFormat (AVCodecContext *Ctx,
const AVCodec *Codec, AVSampleFormat
Format);
49 AVOutputFormat m_fmt { };
50 AVFormatContext *m_ctx {
nullptr };
52 AVStream *m_videoStream {
nullptr };
53 const AVCodec *m_avVideoCodec {
nullptr };
54 AVStream *m_audioStream {
nullptr };
55 const AVCodec *m_avAudioCodec {
nullptr };
58 unsigned char *m_audioInBuf {
nullptr };
59 unsigned char *m_audioInPBuf {
nullptr };