#include <mediastrm.h>
Inheritance diagram for OpalVideoMediaStream:
Public Member Functions | |
Construction | |
OpalVideoMediaStream (OpalConnection &conn, const OpalMediaFormat &mediaFormat, unsigned sessionID, PVideoInputDevice *inputDevice, PVideoOutputDevice *outputDevice, bool autoDelete=true) | |
~OpalVideoMediaStream () | |
Overrides of PChannel class | |
virtual PBoolean | Open () |
virtual PBoolean | Close () |
virtual PBoolean | ReadData (BYTE *data, PINDEX size, PINDEX &length) |
virtual PBoolean | WriteData (const BYTE *data, PINDEX length, PINDEX &written) |
virtual PBoolean | IsSynchronous () const |
virtual PBoolean | SetDataSize (PINDEX dataSize, PINDEX frameTime) |
virtual PVideoInputDevice * | GetVideoInputDevice () const |
virtual PVideoOutputDevice * | GetVideoOutputDevice () const |
Protected Attributes | |
PVideoInputDevice * | inputDevice |
PVideoOutputDevice * | outputDevice |
bool | autoDelete |
PTimeInterval | lastGrabTime |
OpalVideoMediaStream::OpalVideoMediaStream | ( | OpalConnection & | conn, | |
const OpalMediaFormat & | mediaFormat, | |||
unsigned | sessionID, | |||
PVideoInputDevice * | inputDevice, | |||
PVideoOutputDevice * | outputDevice, | |||
bool | autoDelete = true | |||
) |
Construct a new media stream for channel.
mediaFormat | Media format for stream |
sessionID | Session number for stream |
inputDevice | Device to use for video grabbing |
outputDevice | Device to use for video display |
autoDelete | Automatically delete PVideoDevices |
OpalVideoMediaStream::~OpalVideoMediaStream | ( | ) |
Delete attached channel if autoDelete enabled.
virtual PBoolean OpalVideoMediaStream::Close | ( | ) | [virtual] |
virtual PVideoInputDevice* OpalVideoMediaStream::GetVideoInputDevice | ( | ) | const [inline, virtual] |
Get the input device (e.g. for statistics)
virtual PVideoOutputDevice* OpalVideoMediaStream::GetVideoOutputDevice | ( | ) | const [inline, virtual] |
Get the output device (e.g. for statistics)
virtual PBoolean OpalVideoMediaStream::IsSynchronous | ( | ) | const [virtual] |
Indicate if the media stream is synchronous. Returns true for LID streams.
Implements OpalMediaStream.
virtual PBoolean OpalVideoMediaStream::Open | ( | ) | [virtual] |
Open the media stream.
The default behaviour sets the OpalLineInterfaceDevice format and calls Resume() on the associated OpalMediaPatch thread.
Reimplemented from OpalMediaStream.
virtual PBoolean OpalVideoMediaStream::ReadData | ( | BYTE * | data, | |
PINDEX | size, | |||
PINDEX & | length | |||
) | [virtual] |
Read raw media data from the source media stream. The default behaviour simply calls ReadPacket() on the data portion of the RTP_DataFrame and sets the frames timestamp and marker from the internal member variables of the media stream class.
data | Data buffer to read to |
size | Size of buffer |
length | Length of data actually read |
Reimplemented from OpalMediaStream.
virtual PBoolean OpalVideoMediaStream::SetDataSize | ( | PINDEX | dataSize, | |
PINDEX | frameTime | |||
) | [virtual] |
Override size of frame header is included
dataSize | New data size (in total) |
frameTime | Individual frame time (if applicable) |
Reimplemented from OpalMediaStream.
virtual PBoolean OpalVideoMediaStream::WriteData | ( | const BYTE * | data, | |
PINDEX | length, | |||
PINDEX & | written | |||
) | [virtual] |
Write raw media data to the sink media stream. The default behaviour calls WritePacket() on the data portion of the RTP_DataFrame and and sets the internal timestamp and marker from the member variables of the media stream class.
data | Data to write |
length | Length of data to read. |
written | Length of data actually written |
Reimplemented from OpalMediaStream.
bool OpalVideoMediaStream::autoDelete [protected] |
PVideoInputDevice* OpalVideoMediaStream::inputDevice [protected] |
PTimeInterval OpalVideoMediaStream::lastGrabTime [protected] |
PVideoOutputDevice* OpalVideoMediaStream::outputDevice [protected] |