#include <vxml.h>
List of all members.
Public Member Functions |
| | PVXMLChannel (unsigned frameDelay, PINDEX frameSize) |
| | ~PVXMLChannel () |
| virtual BOOL | Open (PVXMLChannelInterface *_vxml) |
| virtual BOOL | IsOpen () const |
| virtual BOOL | Close () |
| virtual BOOL | Read (void *buffer, PINDEX amount) |
| virtual BOOL | Write (const void *buf, PINDEX len) |
| virtual PWAVFile * | CreateWAVFile (const PFilePath &fn, BOOL recording=FALSE) |
| const PString & | GetMediaFormat () const |
| BOOL | IsMediaPCM () const |
| virtual PString | AdjustWavFilename (const PString &fn) |
| virtual BOOL | WriteFrame (const void *buf, PINDEX len)=0 |
| virtual BOOL | IsSilenceFrame (const void *buf, PINDEX len) const =0 |
| virtual BOOL | QueueRecordable (PVXMLRecordable *newItem) |
| BOOL | StartRecording (const PFilePath &fn, unsigned finalSilence=3000, unsigned maxDuration=30000) |
| BOOL | EndRecording () |
| BOOL | IsRecording () const |
| virtual BOOL | ReadFrame (void *buffer, PINDEX amount)=0 |
| virtual PINDEX | CreateSilenceFrame (void *buffer, PINDEX amount)=0 |
| virtual void | GetBeepData (PBYTEArray &, unsigned) |
| virtual BOOL | QueueResource (const PURL &url, PINDEX repeat=1, PINDEX delay=0) |
| virtual BOOL | QueuePlayable (const PString &type, const PString &str, PINDEX repeat=1, PINDEX delay=0, BOOL autoDelete=FALSE) |
| virtual BOOL | QueuePlayable (PVXMLPlayable *newItem) |
| virtual BOOL | QueueData (const PBYTEArray &data, PINDEX repeat=1, PINDEX delay=0) |
| virtual BOOL | QueueFile (const PString &fn, PINDEX repeat=1, PINDEX delay=0, BOOL autoDelete=FALSE) |
| virtual BOOL | QueueCommand (const PString &cmd, PINDEX repeat=1, PINDEX delay=0) |
| virtual void | FlushQueue () |
| virtual BOOL | IsPlaying () const |
| void | SetPause (BOOL _pause) |
| void | SetName (const PString &name) |
| unsigned | GetSampleFrequency () const |
Protected Attributes |
| PVXMLChannelInterface * | vxmlInterface |
| unsigned | sampleFrequency |
| PString | mediaFormat |
| PString | wavFilePrefix |
| PMutex | channelWriteMutex |
| PMutex | channelReadMutex |
| BOOL | closed |
| BOOL | recording |
| PVXMLRecordable * | recordable |
| unsigned | finalSilence |
| unsigned | silenceRun |
| BOOL | playing |
| PMutex | queueMutex |
| PVXMLQueue | playQueue |
| PVXMLPlayable * | currentPlayItem |
| BOOL | paused |
| int | silentCount |
| int | totalData |
| PTimer | delayTimer |
| PString | channelName |
Constructor & Destructor Documentation
| PVXMLChannel::PVXMLChannel |
( |
unsigned |
frameDelay, |
|
|
PINDEX |
frameSize |
|
) |
| |
| PVXMLChannel::~PVXMLChannel |
( |
| ) |
|
Member Function Documentation
| virtual PString PVXMLChannel::AdjustWavFilename |
( |
const PString & |
fn | ) |
[virtual] |
| virtual BOOL PVXMLChannel::Close |
( |
| ) |
[virtual] |
Close the channel. This will detach itself from the read and write channels and delete both of them if they are auto delete.
- Returns:
- TRUE if the channel is closed.
Reimplemented from PIndirectChannel.
| virtual PINDEX PVXMLChannel::CreateSilenceFrame |
( |
void * |
buffer, |
|
|
PINDEX |
amount |
|
) |
| [pure virtual] |
| virtual PWAVFile* PVXMLChannel::CreateWAVFile |
( |
const PFilePath & |
fn, |
|
|
BOOL |
recording = FALSE |
|
) |
| [virtual] |
| BOOL PVXMLChannel::EndRecording |
( |
| ) |
|
| virtual void PVXMLChannel::FlushQueue |
( |
| ) |
[virtual] |
| virtual void PVXMLChannel::GetBeepData |
( |
PBYTEArray & |
, |
|
|
unsigned |
|
|
) |
| [inline, virtual] |
| const PString& PVXMLChannel::GetMediaFormat |
( |
| ) |
const [inline] |
| unsigned PVXMLChannel::GetSampleFrequency |
( |
| ) |
const [inline] |
| BOOL PVXMLChannel::IsMediaPCM |
( |
| ) |
const [inline] |
| virtual BOOL PVXMLChannel::IsOpen |
( |
| ) |
const [virtual] |
Determine if the channel is currently open and read and write operations can be executed on it. For example, in the PFile# class it returns if the file is currently open.
- Returns:
- TRUE if the channel is open.
Reimplemented from PIndirectChannel.
| virtual BOOL PVXMLChannel::IsPlaying |
( |
| ) |
const [inline, virtual] |
| BOOL PVXMLChannel::IsRecording |
( |
| ) |
const [inline] |
| virtual BOOL PVXMLChannel::IsSilenceFrame |
( |
const void * |
buf, |
|
|
PINDEX |
len |
|
) |
| const [pure virtual] |
| virtual BOOL PVXMLChannel::QueueCommand |
( |
const PString & |
cmd, |
|
|
PINDEX |
repeat = 1, |
|
|
PINDEX |
delay = 0 |
|
) |
| [inline, virtual] |
| virtual BOOL PVXMLChannel::QueueData |
( |
const PBYTEArray & |
data, |
|
|
PINDEX |
repeat = 1, |
|
|
PINDEX |
delay = 0 |
|
) |
| [virtual] |
| virtual BOOL PVXMLChannel::QueueFile |
( |
const PString & |
fn, |
|
|
PINDEX |
repeat = 1, |
|
|
PINDEX |
delay = 0, |
|
|
BOOL |
autoDelete = FALSE |
|
) |
| [inline, virtual] |
| virtual BOOL PVXMLChannel::QueuePlayable |
( |
const PString & |
type, |
|
|
const PString & |
str, |
|
|
PINDEX |
repeat = 1, |
|
|
PINDEX |
delay = 0, |
|
|
BOOL |
autoDelete = FALSE |
|
) |
| [virtual] |
| virtual BOOL PVXMLChannel::QueuePlayable |
( |
PVXMLPlayable * |
newItem | ) |
[virtual] |
| virtual BOOL PVXMLChannel::QueueRecordable |
( |
PVXMLRecordable * |
newItem | ) |
[virtual] |
| virtual BOOL PVXMLChannel::QueueResource |
( |
const PURL & |
url, |
|
|
PINDEX |
repeat = 1, |
|
|
PINDEX |
delay = 0 |
|
) |
| [virtual] |
| virtual BOOL PVXMLChannel::Read |
( |
void * |
buf, |
|
|
PINDEX |
len |
|
) |
| [virtual] |
Low level read from the file channel. The read timeout is ignored for file I/O. The GetLastReadCount() function returns the actual number of bytes read.
The GetErrorCode() function should be consulted after Read() returns FALSE to determine what caused the failure.
- Returns:
- TRUE indicates that at least one character was read from the channel. FALSE means no bytes were read due to timeout or some other I/O error.
Reimplemented from PDelayChannel.
| virtual BOOL PVXMLChannel::ReadFrame |
( |
void * |
buffer, |
|
|
PINDEX |
amount |
|
) |
| [pure virtual] |
| void PVXMLChannel::SetName |
( |
const PString & |
name | ) |
[inline] |
| void PVXMLChannel::SetPause |
( |
BOOL |
_pause | ) |
[inline] |
| BOOL PVXMLChannel::StartRecording |
( |
const PFilePath & |
fn, |
|
|
unsigned |
finalSilence = 3000, |
|
|
unsigned |
maxDuration = 30000 |
|
) |
| |
| virtual BOOL PVXMLChannel::Write |
( |
const void * |
buf, |
|
|
PINDEX |
len |
|
) |
| [virtual] |
Low level write to the file channel. The write timeout is ignored for file I/O. The GetLastWriteCount() function returns the actual number of bytes written.
The GetErrorCode() function should be consulted after Write() returns FALSE to determine what caused the failure.
- Returns:
- TRUE if at least len bytes were written to the channel.
Reimplemented from PDelayChannel.
| virtual BOOL PVXMLChannel::WriteFrame |
( |
const void * |
buf, |
|
|
PINDEX |
len |
|
) |
| [pure virtual] |
Member Data Documentation
The documentation for this class was generated from the following file: