# OpalMSRPMediaStream Class Reference

`#include <msrp.h>`

Inheritance diagram for OpalMSRPMediaStream:

[legend]
Collaboration diagram for OpalMSRPMediaStream:
[legend]

## Public Member Functions

| OpalMSRPMediaStream (OpalConnection &conn, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource, OpalMSRPMediaSession &msrpSession)
| ~OpalMSRPMediaStream ()
virtual PBoolean | IsSynchronous () const
virtual PBoolean | RequiresPatchThread () const
virtual PBoolean | ReadPacket (RTP_DataFrame &frame)
virtual PBoolean | WritePacket (RTP_DataFrame &frame)
virtual bool | Open ()
PURL | GetRemoteURL () const
void | SetRemoteURL (const PURL &url)
| PDECLARE_NOTIFIER2 (OpalMSRPManager, OpalMSRPMediaStream, OnReceiveMSRP, OpalMSRPManager::IncomingMSRP &)

## Protected Member Functions

virtual void | InternalClose ()

## Protected Attributes

OpalMSRPMediaSession & | m_msrpSession
PString | m_remoteParty

## Constructor & Destructor Documentation

OpalMSRPMediaStream::OpalMSRPMediaStream | ( | OpalConnection & | conn,
|  | const OpalMediaFormat & | mediaFormat,
|  | unsigned | sessionID,
|  | bool | isSource,
|  | OpalMSRPMediaSession & | msrpSession |
| ) |  |  |

Parameters:

  mediaFormat | Media format for stream
  sessionID | Session number for stream
  isSource | Is a source stream

OpalMSRPMediaStream::~OpalMSRPMediaStream | ( |  | ) |

## Member Function Documentation

PURL OpalMSRPMediaStream::GetRemoteURL | ( |  | ) | const`[inline]`

virtual void OpalMSRPMediaStream::InternalClose | ( |  | ) | `[inline, protected, virtual]`

Close any internal components of the stream. This should be used in preference to overriding the Close() function as it is guaranteed to be called exactly once and avoids race conditions in the shut down sequence of a media stream.

Implements OpalMediaStream.

virtual PBoolean OpalMSRPMediaStream::IsSynchronous | ( |  | ) | const`[inline, virtual]`

Indicate if the media stream is synchronous. If this returns true then the media stream will block of the amount of time it takes to annunciate the data. For example if the media stream is over a sound card, and 480 bytes of data are to be written it will take 30 milliseconds to complete.

Implements OpalMediaStream.

virtual bool OpalMSRPMediaStream::Open | ( |  | ) | `[virtual]`

Open the media stream using the media format.

The default behaviour simply sets the isOpen variable to true.

Reimplemented from OpalMediaStream.

OpalMSRPMediaStream::PDECLARE_NOTIFIER2 | ( | OpalMSRPManager | ,
|  | OpalMSRPMediaStream | ,
|  | OnReceiveMSRP | ,
|  | OpalMSRPManager::IncomingMSRP & |  |
| ) |  |  |

virtual PBoolean OpalMSRPMediaStream::ReadPacket | ( | RTP_DataFrame & | frame | ) | `[virtual]`

Read raw media data from the source media stream. The default behaviour reads from the PChannel object.

Reimplemented from OpalMediaStream.

virtual PBoolean OpalMSRPMediaStream::RequiresPatchThread | ( |  | ) | const`[inline, virtual]`

Reimplemented from OpalMediaStream.

void OpalMSRPMediaStream::SetRemoteURL | ( | const PURL & | url | ) | `[inline]`

virtual PBoolean OpalMSRPMediaStream::WritePacket | ( | RTP_DataFrame & | frame | ) | `[virtual]`

Write raw media data to the sink media stream. The default behaviour writes to the PChannel object.

Reimplemented from OpalMediaStream.

## Field Documentation

OpalMSRPMediaSession& OpalMSRPMediaStream::m_msrpSession `[protected]`

PString OpalMSRPMediaStream::m_remoteParty `[protected]`

The documentation for this class was generated from the following file:

- msrp.h