OPAL
Version 3.10.4
|
#include <recording.h>
Data Structures | |
struct | Options |
Public Types | |
enum | VideoMode { eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled, eSeparateStreams, NumVideoMixingModes } |
typedef PFactory < OpalRecordManager, PCaselessString > | Factory |
Public Member Functions | |
virtual | ~OpalRecordManager () |
bool | Open (const PFilePath &fn) |
bool | Open (const PFilePath &fn, bool mono) |
bool | Open (const PFilePath &fn, const Options &options) |
virtual bool | IsOpen () const =0 |
virtual bool | Close ()=0 |
virtual bool | OpenStream (const PString &strmId, const OpalMediaFormat &format)=0 |
virtual bool | CloseStream (const PString &strmId)=0 |
virtual bool | WriteAudio (const PString &strmId, const RTP_DataFrame &rtp)=0 |
virtual bool | WriteVideo (const PString &strmId, const RTP_DataFrame &rtp)=0 |
const Options & | GetOptions () const |
void | SetOptions (const Options &options) |
Protected Member Functions | |
virtual bool | OpenFile (const PFilePath &fn)=0 |
Protected Attributes | |
Options | m_options |
This is an abstract class for recording OPAL calls. A factory is used to created concrete classes based on the file extension supported by the individual record manager.
typedef PFactory<OpalRecordManager, PCaselessString> OpalRecordManager::Factory |
virtual OpalRecordManager::~OpalRecordManager | ( | ) | [inline, virtual] |
virtual bool OpalRecordManager::Close | ( | ) | [pure virtual] |
Close the recording file. Note this may block until various sub-threads are termianted so care may be needed to avoid deadlocks.
virtual bool OpalRecordManager::CloseStream | ( | const PString & | strmId | ) | [pure virtual] |
Close the media stream based on the identifier provided.
strmId | Identifier for media stream. |
const Options& OpalRecordManager::GetOptions | ( | ) | const [inline] |
Get the options for this recording.
References m_options.
virtual bool OpalRecordManager::IsOpen | ( | ) | const [pure virtual] |
Indicate if the recording file is open.
bool OpalRecordManager::Open | ( | const PFilePath & | fn | ) | [inline] |
bool OpalRecordManager::Open | ( | const PFilePath & | fn, |
bool | mono | ||
) | [inline] |
Open the recoding file indicating audio mode.
References m_options, OpalRecordManager::Options::m_stereo, and OpenFile().
bool OpalRecordManager::Open | ( | const PFilePath & | fn, |
const Options & | options | ||
) | [inline] |
virtual bool OpalRecordManager::OpenFile | ( | const PFilePath & | fn | ) | [protected, pure virtual] |
Referenced by Open().
virtual bool OpalRecordManager::OpenStream | ( | const PString & | strmId, |
const OpalMediaFormat & | format | ||
) | [pure virtual] |
Open an individual media stream using the provided identifier and format.
strmId | Identifier for media stream. |
format | Media format for new stream |
void OpalRecordManager::SetOptions | ( | const Options & | options | ) | [inline] |
Set the options for this recording.
References m_options.
virtual bool OpalRecordManager::WriteAudio | ( | const PString & | strmId, |
const RTP_DataFrame & | rtp | ||
) | [pure virtual] |
Write audio to the recording file.
strmId | Identifier for media stream. |
rtp | RTP data containing PCM-16 data |
virtual bool OpalRecordManager::WriteVideo | ( | const PString & | strmId, |
const RTP_DataFrame & | rtp | ||
) | [pure virtual] |
Write video to the recording file.
strmId | Identifier for media stream. |
rtp | RTP data containing a YUV420P frame |
Options OpalRecordManager::m_options [protected] |
Referenced by GetOptions(), Open(), and SetOptions().