1 #ifndef AVFORMATWRITER_H_
2 #define AVFORMATWRITER_H_
8 #include "libmythbase/mythconfig.h"
14 #include "libavcodec/avcodec.h"
15 #include "libavformat/avformat.h"
24 bool Init (
void)
override;
28 int WriteAudioFrame (
unsigned char *
Buffer,
int FrameNumber, std::chrono::milliseconds &Timecode)
override;
30 std::chrono::milliseconds Timecode,
int PageNumber)
override;
34 bool NextFrameIsKeyFrame (
void);
35 bool ReOpen (
const QString& Filename);
38 bool openFileHelper();
39 AVStream* AddVideoStream (
void);
40 bool OpenVideo (
void);
41 AVStream* AddAudioStream (
void);
42 bool OpenAudio (
void);
43 AVFrame* AllocPicture (
enum AVPixelFormat PixFmt);
45 AVRational GetCodecTimeBase (
void);
46 static bool FindAudioFormat (AVCodecContext *Ctx,
const AVCodec *Codec, AVSampleFormat
Format);
50 AVOutputFormat m_fmt { };
51 AVFormatContext *m_ctx {
nullptr };
53 AVStream *m_videoStream {
nullptr };
54 const AVCodec *m_avVideoCodec {
nullptr };
55 AVStream *m_audioStream {
nullptr };
56 const AVCodec *m_avAudioCodec {
nullptr };
59 unsigned char *m_audioInBuf {
nullptr };
60 unsigned char *m_audioInPBuf {
nullptr };