MythTV  master
Public Member Functions | Protected Attributes | List of all members
MythMediaWriter Class Referenceabstract

#include <mythmediawriter.h>

Inheritance diagram for MythMediaWriter:
Inheritance graph
[legend]
Collaboration diagram for MythMediaWriter:
Collaboration graph
[legend]

Public Member Functions

 MythMediaWriter ()=default
 
virtual ~MythMediaWriter ()=default
 
virtual bool Init (void)=0
 
virtual bool OpenFile (void)=0
 
virtual bool CloseFile (void)=0
 
virtual int WriteVideoFrame (MythVideoFrame *Frame)=0
 
virtual int WriteAudioFrame (unsigned char *Buffer, int FrameNumber, std::chrono::milliseconds &Timecode)=0
 
virtual int WriteTextFrame (int VBIMode, unsigned char *Buffer, int Length, std::chrono::milliseconds Timecode, int PageNumber)=0
 
virtual int WriteSeekTable (void)=0
 
virtual bool SwitchToNextFile (void)=0
 
void SetFilename (const QString &FileName)
 
void SetContainer (const QString &Cont)
 
void SetVideoCodec (const QString &Codec)
 
void SetVideoBitrate (int Bitrate)
 
void SetWidth (int Width)
 
void SetHeight (int Height)
 
void SetAspect (float Aspect)
 
void SetFramerate (double Rate)
 
void SetKeyFrameDist (int Dist)
 
void SetAudioCodec (const QString &Codec)
 
void SetAudioBitrate (int Bitrate)
 
void SetAudioChannels (int Channels)
 
void SetAudioFrameRate (int Rate)
 
void SetAudioFormat (AudioFormat Format)
 
void SetThreadCount (int Count)
 
void SetTimecodeOffset (std::chrono::milliseconds Offset)
 
void SetEncodingPreset (const QString &Preset)
 
void SetEncodingTune (const QString &Tune)
 
long long GetFramesWritten (void) const
 
std::chrono::milliseconds GetTimecodeOffset (void) const
 
int GetAudioFrameSize (void) const
 

Protected Attributes

QString m_filename
 
QString m_container
 
QString m_videoCodec
 
int m_videoBitrate { 800000 }
 
int m_width { 0 }
 
int m_height { 0 }
 
float m_aspect { 1.333333F }
 
double m_frameRate { 29.97 }
 
int m_keyFrameDist { 15 }
 
QString m_audioCodec
 
int m_audioBitrate { 0 }
 
int m_audioChannels { 2 }
 
int m_audioFrameRate { 48000 }
 
AudioFormat m_audioFormat { FORMAT_S16 }
 
int m_audioFrameSize { -1 }
 
int m_encodingThreadCount { 1 }
 
long long m_framesWritten { 0 }
 
std::chrono::milliseconds m_startingTimecodeOffset { -1ms }
 
QString m_encodingPreset
 
QString m_encodingTune
 

Detailed Description

Definition at line 11 of file mythmediawriter.h.

Constructor & Destructor Documentation

◆ MythMediaWriter()

MythMediaWriter::MythMediaWriter ( )
default

◆ ~MythMediaWriter()

virtual MythMediaWriter::~MythMediaWriter ( )
virtualdefault

Member Function Documentation

◆ Init()

virtual bool MythMediaWriter::Init ( void  )
pure virtual

Implemented in MythAVFormatWriter.

◆ OpenFile()

virtual bool MythMediaWriter::OpenFile ( void  )
pure virtual

Implemented in MythAVFormatWriter.

◆ CloseFile()

virtual bool MythMediaWriter::CloseFile ( void  )
pure virtual

Implemented in MythAVFormatWriter.

◆ WriteVideoFrame()

virtual int MythMediaWriter::WriteVideoFrame ( MythVideoFrame Frame)
pure virtual

Implemented in MythAVFormatWriter.

◆ WriteAudioFrame()

virtual int MythMediaWriter::WriteAudioFrame ( unsigned char *  Buffer,
int  FrameNumber,
std::chrono::milliseconds &  Timecode 
)
pure virtual

Implemented in MythAVFormatWriter.

◆ WriteTextFrame()

virtual int MythMediaWriter::WriteTextFrame ( int  VBIMode,
unsigned char *  Buffer,
int  Length,
std::chrono::milliseconds  Timecode,
int  PageNumber 
)
pure virtual

Implemented in MythAVFormatWriter.

◆ WriteSeekTable()

virtual int MythMediaWriter::WriteSeekTable ( void  )
pure virtual

Implemented in MythAVFormatWriter.

◆ SwitchToNextFile()

virtual bool MythMediaWriter::SwitchToNextFile ( void  )
pure virtual

Implemented in MythAVFormatWriter.

◆ SetFilename()

void MythMediaWriter::SetFilename ( const QString &  FileName)

Definition at line 24 of file mythmediawriter.cpp.

◆ SetContainer()

void MythMediaWriter::SetContainer ( const QString &  Cont)

Definition at line 29 of file mythmediawriter.cpp.

◆ SetVideoCodec()

void MythMediaWriter::SetVideoCodec ( const QString &  Codec)

Definition at line 34 of file mythmediawriter.cpp.

◆ SetVideoBitrate()

void MythMediaWriter::SetVideoBitrate ( int  Bitrate)

Definition at line 39 of file mythmediawriter.cpp.

◆ SetWidth()

void MythMediaWriter::SetWidth ( int  Width)

Definition at line 44 of file mythmediawriter.cpp.

◆ SetHeight()

void MythMediaWriter::SetHeight ( int  Height)

Definition at line 49 of file mythmediawriter.cpp.

◆ SetAspect()

void MythMediaWriter::SetAspect ( float  Aspect)

Definition at line 54 of file mythmediawriter.cpp.

◆ SetFramerate()

void MythMediaWriter::SetFramerate ( double  Rate)

Definition at line 59 of file mythmediawriter.cpp.

◆ SetKeyFrameDist()

void MythMediaWriter::SetKeyFrameDist ( int  Dist)

Definition at line 64 of file mythmediawriter.cpp.

◆ SetAudioCodec()

void MythMediaWriter::SetAudioCodec ( const QString &  Codec)

Definition at line 69 of file mythmediawriter.cpp.

◆ SetAudioBitrate()

void MythMediaWriter::SetAudioBitrate ( int  Bitrate)

Definition at line 74 of file mythmediawriter.cpp.

◆ SetAudioChannels()

void MythMediaWriter::SetAudioChannels ( int  Channels)

Definition at line 79 of file mythmediawriter.cpp.

◆ SetAudioFrameRate()

void MythMediaWriter::SetAudioFrameRate ( int  Rate)

Definition at line 84 of file mythmediawriter.cpp.

◆ SetAudioFormat()

void MythMediaWriter::SetAudioFormat ( AudioFormat  Format)

Definition at line 89 of file mythmediawriter.cpp.

◆ SetThreadCount()

void MythMediaWriter::SetThreadCount ( int  Count)

Definition at line 94 of file mythmediawriter.cpp.

◆ SetTimecodeOffset()

void MythMediaWriter::SetTimecodeOffset ( std::chrono::milliseconds  Offset)

Definition at line 99 of file mythmediawriter.cpp.

◆ SetEncodingPreset()

void MythMediaWriter::SetEncodingPreset ( const QString &  Preset)

Definition at line 104 of file mythmediawriter.cpp.

◆ SetEncodingTune()

void MythMediaWriter::SetEncodingTune ( const QString &  Tune)

Definition at line 109 of file mythmediawriter.cpp.

◆ GetFramesWritten()

long long MythMediaWriter::GetFramesWritten ( void  ) const

Definition at line 114 of file mythmediawriter.cpp.

◆ GetTimecodeOffset()

std::chrono::milliseconds MythMediaWriter::GetTimecodeOffset ( void  ) const

Definition at line 119 of file mythmediawriter.cpp.

◆ GetAudioFrameSize()

int MythMediaWriter::GetAudioFrameSize ( void  ) const

Definition at line 124 of file mythmediawriter.cpp.

Member Data Documentation

◆ m_filename

QString MythMediaWriter::m_filename
protected

◆ m_container

QString MythMediaWriter::m_container
protected

Definition at line 52 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::Init(), and SetContainer().

◆ m_videoCodec

QString MythMediaWriter::m_videoCodec
protected

Definition at line 53 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::Init(), and SetVideoCodec().

◆ m_videoBitrate

int MythMediaWriter::m_videoBitrate { 800000 }
protected

Definition at line 54 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddVideoStream(), and SetVideoBitrate().

◆ m_width

int MythMediaWriter::m_width { 0 }
protected

◆ m_height

int MythMediaWriter::m_height { 0 }
protected

◆ m_aspect

float MythMediaWriter::m_aspect { 1.333333F }
protected

Definition at line 57 of file mythmediawriter.h.

Referenced by SetAspect().

◆ m_frameRate

double MythMediaWriter::m_frameRate { 29.97 }
protected

Definition at line 58 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::GetCodecTimeBase(), and SetFramerate().

◆ m_keyFrameDist

int MythMediaWriter::m_keyFrameDist { 15 }
protected

◆ m_audioCodec

QString MythMediaWriter::m_audioCodec
protected

Definition at line 60 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::Init(), and SetAudioCodec().

◆ m_audioBitrate

int MythMediaWriter::m_audioBitrate { 0 }
protected

Definition at line 61 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddAudioStream(), and SetAudioBitrate().

◆ m_audioChannels

int MythMediaWriter::m_audioChannels { 2 }
protected

◆ m_audioFrameRate

int MythMediaWriter::m_audioFrameRate { 48000 }
protected

Definition at line 63 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddAudioStream(), and SetAudioFrameRate().

◆ m_audioFormat

AudioFormat MythMediaWriter::m_audioFormat { FORMAT_S16 }
protected

Definition at line 64 of file mythmediawriter.h.

Referenced by SetAudioFormat().

◆ m_audioFrameSize

int MythMediaWriter::m_audioFrameSize { -1 }
protected

◆ m_encodingThreadCount

int MythMediaWriter::m_encodingThreadCount { 1 }
protected

Definition at line 66 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddVideoStream(), and SetThreadCount().

◆ m_framesWritten

long long MythMediaWriter::m_framesWritten { 0 }
protected

Definition at line 67 of file mythmediawriter.h.

Referenced by GetFramesWritten(), and MythAVFormatWriter::WriteVideoFrame().

◆ m_startingTimecodeOffset

std::chrono::milliseconds MythMediaWriter::m_startingTimecodeOffset { -1ms }
protected

◆ m_encodingPreset

QString MythMediaWriter::m_encodingPreset
protected

Definition at line 69 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddVideoStream(), and SetEncodingPreset().

◆ m_encodingTune

QString MythMediaWriter::m_encodingTune
protected

Definition at line 70 of file mythmediawriter.h.

Referenced by MythAVFormatWriter::AddVideoStream(), and SetEncodingTune().


The documentation for this class was generated from the following files: