OPAL
Version 3.18.8
|
#include <recording.h>
Inherits PObject.
Data Structures | |
struct | Options |
Public Types | |
enum | VideoMode { eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled, eSeparateStreams, NumVideoMixingModes } |
typedef PFactory < OpalRecordManager, PFilePathString > | Factory |
Public Member Functions | |
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 | OnPushAudio ()=0 |
virtual unsigned | GetPushAudioPeriodMS () const =0 |
virtual bool | WriteAudio (const PString &strmId, const RTP_DataFrame &rtp)=0 |
virtual bool | OnPushVideo ()=0 |
virtual unsigned | GetPushVideoPeriodMS () const =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, PFilePathString> OpalRecordManager::Factory |
Factory for creating new recording managers. Selection is made based on the file extension of the file supplied to OpalManager::StartRecording().
Currently only WAV files, and for WIndows only, AVI files, are supported. Howeer this factory allows an application to add their own file formats.
|
pure virtual |
Close the recording file. Note this may block until various sub-threads are termianted so care may be needed to avoid deadlocks.
|
pure virtual |
Close the media stream based on the identifier provided.
strmId | Identifier for media stream. |
|
inline |
Get the options for this recording.
References m_options.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Indicate if the recording file is open.
|
pure virtual |
Push audio through the mixer.
|
pure virtual |
Push video through the mixer.
bool OpalRecordManager::Open | ( | const PFilePath & | fn | ) |
Open the recording file.
bool OpalRecordManager::Open | ( | const PFilePath & | fn, |
bool | mono | ||
) |
Open the recoding file indicating audio mode.
bool OpalRecordManager::Open | ( | const PFilePath & | fn, |
const Options & | options | ||
) |
Open the recording file indicating the options to be used.
|
protectedpure virtual |
|
pure virtual |
Open an individual media stream using the provided identifier and format.
strmId | Identifier for media stream. |
format | Media format for new stream |
|
inline |
Set the options for this recording.
References m_options.
|
pure virtual |
Write audio to the recording file.
strmId | Identifier for media stream. |
rtp | RTP data containing PCM-16 data |
|
pure virtual |
Write video to the recording file.
strmId | Identifier for media stream. |
rtp | RTP data containing a YUV420P frame |
|
protected |
Referenced by GetOptions(), and SetOptions().