OpalVideoMediaStream Class Reference

#include <mediastrm.h>

Inheritance diagram for OpalVideoMediaStream:

OpalMediaStream

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

Constructor & Destructor Documentation

OpalVideoMediaStream::OpalVideoMediaStream ( OpalConnection conn,
const OpalMediaFormat mediaFormat,
unsigned  sessionID,
PVideoInputDevice *  inputDevice,
PVideoOutputDevice *  outputDevice,
bool  autoDelete = true 
)

Construct a new media stream for channel.

Parameters:
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.


Member Function Documentation

virtual PBoolean OpalVideoMediaStream::Close (  )  [virtual]

Close the media stream.

The default does nothing.

Reimplemented from OpalMediaStream.

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.

Parameters:
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

Parameters:
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.

Parameters:
data  Data to write
length  Length of data to read.
written  Length of data actually written

Reimplemented from OpalMediaStream.


Field Documentation

bool OpalVideoMediaStream::autoDelete [protected]

PVideoInputDevice* OpalVideoMediaStream::inputDevice [protected]

PTimeInterval OpalVideoMediaStream::lastGrabTime [protected]

PVideoOutputDevice* OpalVideoMediaStream::outputDevice [protected]


The documentation for this class was generated from the following file:
Generated on Mon Feb 21 20:19:24 2011 for OPAL by  doxygen 1.4.7