#include <rtpconn.h>
Construction | |
| OpalRTPSessionManager (OpalConnection &conn) | |
| ~OpalRTPSessionManager () | |
| void | operator= (const OpalRTPSessionManager &other) |
Public Member Functions | |
| PMutex & | GetMutex () |
| virtual bool | AllSessionsFailing () |
Operations | |
| unsigned | GetNextSessionID () |
| void | AddSession (RTP_Session *session, const OpalMediaType &mediaType) |
| void | AddMediaSession (OpalMediaSession *session, const OpalMediaType &mediaType) |
| void | ReleaseSession (unsigned sessionID, PBoolean clearAll=PFalse) |
| RTP_Session * | GetSession (unsigned sessionID) const |
| OpalMediaSession * | GetMediaSession (unsigned sessionID) const |
| bool | ChangeSessionID (unsigned fromSessionID, unsigned toSessionID) |
Protected Member Functions | |
| PDICTIONARY (SessionDict, POrdinalKey, OpalMediaSession) | |
Protected Attributes | |
| OpalConnection & | connection |
| PMutex | m_mutex |
| SessionDict | sessions |
| OpalRTPSessionManager::OpalRTPSessionManager | ( | OpalConnection & | conn | ) |
Construct new session manager database.
| OpalRTPSessionManager::~OpalRTPSessionManager | ( | ) |
| void OpalRTPSessionManager::operator= | ( | const OpalRTPSessionManager & | other | ) | [inline] |
| unsigned OpalRTPSessionManager::GetNextSessionID | ( | ) |
Get next available session ID for the media type.
| void OpalRTPSessionManager::AddSession | ( | RTP_Session * | session, | |
| const OpalMediaType & | mediaType | |||
| ) |
Add an RTP session for the specified ID.
This function MUST be called only after the UseSession() function has returned NULL. The mutex flag is left locked in that case. This function expects the mutex to be locked and unlocks it automatically.
| session | Session to add. |
| mediaType | initial media type for this session |
| void OpalRTPSessionManager::AddMediaSession | ( | OpalMediaSession * | session, | |
| const OpalMediaType & | mediaType | |||
| ) |
| session | Session to add. |
| mediaType | initial media type for this session |
| void OpalRTPSessionManager::ReleaseSession | ( | unsigned | sessionID, | |
| PBoolean | clearAll = PFalse | |||
| ) |
Release the session.
| sessionID | Session ID to release. |
| clearAll | Clear all sessions with that ID |
| RTP_Session* OpalRTPSessionManager::GetSession | ( | unsigned | sessionID | ) | const |
Get a session for the specified ID.
| sessionID | Session ID to get. |
| OpalMediaSession* OpalRTPSessionManager::GetMediaSession | ( | unsigned | sessionID | ) | const |
| bool OpalRTPSessionManager::ChangeSessionID | ( | unsigned | fromSessionID, | |
| unsigned | toSessionID | |||
| ) |
Change the sessionID for an existing session. This will adjust the RTP session and media streams.
Return false if no such session exists.
| fromSessionID | Session ID to search for |
| toSessionID | Session ID to change to |
| PMutex& OpalRTPSessionManager::GetMutex | ( | ) | [inline] |
| virtual bool OpalRTPSessionManager::AllSessionsFailing | ( | ) | [virtual] |
| OpalRTPSessionManager::PDICTIONARY | ( | SessionDict | , | |
| POrdinalKey | , | |||
| OpalMediaSession | ||||
| ) | [protected] |
OpalConnection& OpalRTPSessionManager::connection [protected] |
PMutex OpalRTPSessionManager::m_mutex [protected] |
SessionDict OpalRTPSessionManager::sessions [protected] |
1.5.1