DynamicRTSPServer Class Reference

#include <DynamicRTSPServer.hh>

Inheritance diagram for DynamicRTSPServer:

Inheritance graph
[legend]
Collaboration diagram for DynamicRTSPServer:

Collaboration graph
[legend]

Public Member Functions

void addServerMediaSession (ServerMediaSession *serverMediaSession)
void removeServerMediaSession (ServerMediaSession *serverMediaSession)
void removeServerMediaSession (char const *streamName)
char * rtspURL (ServerMediaSession const *serverMediaSession, int clientSocket=-1) const
char * rtspURLPrefix (int clientSocket=-1) const
UsageEnvironmentenvir () const
char const * name () const
virtual Boolean isSource () const
virtual Boolean isSink () const
virtual Boolean isRTCPInstance () const
virtual Boolean isRTSPClient () const
virtual Boolean isMediaSession () const
virtual Boolean isServerMediaSession () const
virtual Boolean isDarwinInjector () const

Static Public Member Functions

static DynamicRTSPServercreateNew (UsageEnvironment &env, Port ourPort, UserAuthenticationDatabase *authDatabase, unsigned reclamationTestSeconds=65)
static Boolean lookupByName (UsageEnvironment &env, char const *name, RTSPServer *&resultServer)
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
static void close (UsageEnvironment &env, char const *mediumName)
static void close (Medium *medium)

Protected Member Functions

virtual Boolean specialClientAccessCheck (int clientSocket, struct sockaddr_in &clientAddr, char const *urlSuffix)
virtual RTSPClientSession * createNewClientSession (unsigned sessionId, int clientSocket, struct sockaddr_in clientAddr)
TaskTokennextTask ()

Static Protected Member Functions

static int setUpOurSocket (UsageEnvironment &env, Port &ourPort)

Private Member Functions

 DynamicRTSPServer (UsageEnvironment &env, int ourSocket, Port ourPort, UserAuthenticationDatabase *authDatabase, unsigned reclamationTestSeconds)
virtual ~DynamicRTSPServer ()
virtual ServerMediaSessionlookupServerMediaSession (char const *streamName)

Detailed Description

Definition at line 28 of file DynamicRTSPServer.hh.


Constructor & Destructor Documentation

DynamicRTSPServer::DynamicRTSPServer ( UsageEnvironment env,
int  ourSocket,
Port  ourPort,
UserAuthenticationDatabase authDatabase,
unsigned  reclamationTestSeconds 
) [private]

Definition at line 42 of file DynamicRTSPServer.cpp.

Referenced by createNew().

00045   : RTSPServer(env, ourSocket, ourPort, authDatabase, reclamationTestSeconds) {
00046 }

DynamicRTSPServer::~DynamicRTSPServer (  )  [private, virtual]

Definition at line 48 of file DynamicRTSPServer.cpp.

00048                                       {
00049 }


Member Function Documentation

DynamicRTSPServer * DynamicRTSPServer::createNew ( UsageEnvironment env,
Port  ourPort,
UserAuthenticationDatabase authDatabase,
unsigned  reclamationTestSeconds = 65 
) [static]

Reimplemented from RTSPServer.

Definition at line 26 of file DynamicRTSPServer.cpp.

References closeSocket, DynamicRTSPServer(), env, NULL, and RTSPServer::setUpOurSocket().

Referenced by main().

00028                                                               {
00029   int ourSocket = -1;
00030 
00031   do {
00032     int ourSocket = setUpOurSocket(env, ourPort);
00033     if (ourSocket == -1) break;
00034 
00035     return new DynamicRTSPServer(env, ourSocket, ourPort, authDatabase, reclamationTestSeconds);
00036   } while (0);
00037 
00038   if (ourSocket != -1) ::closeSocket(ourSocket);
00039   return NULL;
00040 }

ServerMediaSession * DynamicRTSPServer::lookupServerMediaSession ( char const *  streamName  )  [private, virtual]

Reimplemented from RTSPServer.

Definition at line 55 of file DynamicRTSPServer.cpp.

References RTSPServer::addServerMediaSession(), createNewSMS(), Medium::envir(), RTSPServer::lookupServerMediaSession(), NULL, and RTSPServer::removeServerMediaSession().

00055                                                                   {
00056   // First, check whether the specified "streamName" exists as a local file:
00057   FILE* fid = fopen(streamName, "rb");
00058   Boolean fileExists = fid != NULL;
00059 
00060   // Next, check whether we already have a "ServerMediaSession" for this file:
00061   ServerMediaSession* sms = RTSPServer::lookupServerMediaSession(streamName);
00062   Boolean smsExists = sms != NULL;
00063 
00064   // Handle the four possibilities for "fileExists" and "smsExists":
00065   if (!fileExists) {
00066     if (smsExists) {
00067       // "sms" was created for a file that no longer exists. Remove it:
00068       removeServerMediaSession(sms);
00069     }
00070     return NULL;
00071   } else {
00072     if (!smsExists) {
00073       // Create a new "ServerMediaSession" object for streaming from the named file.
00074       sms = createNewSMS(envir(), streamName, fid);
00075       addServerMediaSession(sms);
00076     }
00077     fclose(fid);
00078     return sms;
00079   }
00080 }

Boolean RTSPServer::lookupByName ( UsageEnvironment env,
char const *  name,
RTSPServer *&  resultServer 
) [static, inherited]

Definition at line 52 of file RTSPServer.cpp.

References env, False, Medium::isRTSPServer(), Medium::lookupByName(), NULL, and True.

00054                                                             {
00055   resultServer = NULL; // unless we succeed
00056 
00057   Medium* medium;
00058   if (!Medium::lookupByName(env, name, medium)) return False;
00059 
00060   if (!medium->isRTSPServer()) {
00061     env.setResultMsg(name, " is not a RTSP server");
00062     return False;
00063   }
00064 
00065   resultServer = (RTSPServer*)medium;
00066   return True;
00067 }

Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
) [static, inherited]

Definition at line 65 of file Media.cpp.

References env, False, MediaLookupTable::lookup(), NULL, MediaLookupTable::ourMedia(), UsageEnvironment::setResultMsg(), and True.

Referenced by ServerMediaSession::lookupByName(), RTSPServer::lookupByName(), RTSPClient::lookupByName(), RTCPInstance::lookupByName(), MediaSource::lookupByName(), MediaSink::lookupByName(), MediaSession::lookupByName(), and DarwinInjector::lookupByName().

00066                                                          {
00067   resultMedium = MediaLookupTable::ourMedia(env)->lookup(mediumName);
00068   if (resultMedium == NULL) {
00069     env.setResultMsg("Medium ", mediumName, " does not exist");
00070     return False;
00071   }
00072 
00073   return True;
00074 }

void RTSPServer::addServerMediaSession ( ServerMediaSession serverMediaSession  )  [inherited]

Definition at line 69 of file RTSPServer.cpp.

References HashTable::Add(), RTSPServer::fServerMediaSessions, NULL, RTSPServer::removeServerMediaSession(), and ServerMediaSession::streamName().

Referenced by lookupServerMediaSession(), and main().

00069                                                                              {
00070   if (serverMediaSession == NULL) return;
00071 
00072   char const* sessionName = serverMediaSession->streamName();
00073   if (sessionName == NULL) sessionName = "";
00074   ServerMediaSession* existingSession
00075     = (ServerMediaSession*)
00076     (fServerMediaSessions->Add(sessionName,
00077                                (void*)serverMediaSession));
00078   removeServerMediaSession(existingSession); // if any
00079 }

void RTSPServer::removeServerMediaSession ( ServerMediaSession serverMediaSession  )  [inherited]

Definition at line 85 of file RTSPServer.cpp.

References Medium::close(), ServerMediaSession::deleteWhenUnreferenced(), RTSPServer::fServerMediaSessions, NULL, ServerMediaSession::referenceCount(), HashTable::Remove(), ServerMediaSession::streamName(), and True.

Referenced by RTSPServer::addServerMediaSession(), lookupServerMediaSession(), RTSPServer::removeServerMediaSession(), RTSPServer::RTSPClientSession::~RTSPClientSession(), and RTSPServer::~RTSPServer().

00085                                                                                 {
00086   if (serverMediaSession == NULL) return;
00087 
00088   fServerMediaSessions->Remove(serverMediaSession->streamName());
00089   if (serverMediaSession->referenceCount() == 0) {
00090     Medium::close(serverMediaSession);
00091   } else {
00092     serverMediaSession->deleteWhenUnreferenced() = True;
00093   }
00094 }

void RTSPServer::removeServerMediaSession ( char const *  streamName  )  [inherited]

Definition at line 96 of file RTSPServer.cpp.

References RTSPServer::lookupServerMediaSession(), and RTSPServer::removeServerMediaSession().

00096                                                                 {
00097   removeServerMediaSession(lookupServerMediaSession(streamName));
00098 }

char * RTSPServer::rtspURL ( ServerMediaSession const *  serverMediaSession,
int  clientSocket = -1 
) const [inherited]

Definition at line 126 of file RTSPServer.cpp.

References RTSPServer::rtspURLPrefix(), and ServerMediaSession::streamName().

Referenced by announceStream(), RTSPServer::RTSPClientSession::handleCmd_DESCRIBE(), RTSPServer::RTSPClientSession::handleCmd_PLAY(), and main().

00126                                                                               {
00127   char* urlPrefix = rtspURLPrefix(clientSocket);
00128   char const* sessionName = serverMediaSession->streamName();
00129 
00130   char* resultURL = new char[strlen(urlPrefix) + strlen(sessionName) + 1];
00131   sprintf(resultURL, "%s%s", urlPrefix, sessionName);
00132 
00133   delete[] urlPrefix;
00134   return resultURL;
00135 }

char * RTSPServer::rtspURLPrefix ( int  clientSocket = -1  )  const [inherited]

Definition at line 100 of file RTSPServer.cpp.

References Medium::envir(), RTSPServer::fServerPort, Port::num(), our_inet_ntoa(), ourIPAddress(), ReceivingInterfaceAddr, SOCKLEN_T, and strDup().

Referenced by main(), and RTSPServer::rtspURL().

00100                                                       {
00101   struct sockaddr_in ourAddress;
00102   if (clientSocket < 0) {
00103     // Use our default IP address in the URL:
00104     ourAddress.sin_addr.s_addr = ReceivingInterfaceAddr != 0
00105       ? ReceivingInterfaceAddr
00106       : ourIPAddress(envir()); // hack
00107   } else {
00108     SOCKLEN_T namelen = sizeof ourAddress;
00109     getsockname(clientSocket, (struct sockaddr*)&ourAddress, &namelen);
00110   }
00111 
00112   char urlBuffer[100]; // more than big enough for "rtsp://<ip-address>:<port>/"
00113 
00114   portNumBits portNumHostOrder = ntohs(fServerPort.num());
00115   if (portNumHostOrder == 554 /* the default port number */) {
00116     sprintf(urlBuffer, "rtsp://%s/", our_inet_ntoa(ourAddress.sin_addr));
00117   } else {
00118     sprintf(urlBuffer, "rtsp://%s:%hu/",
00119             our_inet_ntoa(ourAddress.sin_addr), portNumHostOrder);
00120   }
00121 
00122   return strDup(urlBuffer);
00123 }

int RTSPServer::setUpOurSocket ( UsageEnvironment env,
Port ourPort 
) [static, protected, inherited]

Definition at line 139 of file RTSPServer.cpp.

References closeSocket, env, getSourcePort(), increaseSendBufferTo(), LISTEN_BACKLOG_SIZE, Port::num(), UsageEnvironment::setResultErrMsg(), and setupStreamSocket().

Referenced by createNew(), and RTSPServer::createNew().

00139                                                                    {
00140   int ourSocket = -1;
00141 
00142   do {
00143     ourSocket = setupStreamSocket(env, ourPort);
00144     if (ourSocket < 0) break;
00145 
00146     // Make sure we have a big send buffer:
00147     if (!increaseSendBufferTo(env, ourSocket, 50*1024)) break;
00148 
00149     // Allow multiple simultaneous connections:
00150     if (listen(ourSocket, LISTEN_BACKLOG_SIZE) < 0) {
00151       env.setResultErrMsg("listen() failed: ");
00152       break;
00153     }
00154 
00155     if (ourPort.num() == 0) {
00156       // bind() will have chosen a port for us; return it also:
00157       if (!getSourcePort(env, ourSocket, ourPort)) break;
00158     }
00159 
00160     return ourSocket;
00161   } while (0);
00162 
00163   if (ourSocket != -1) ::closeSocket(ourSocket);
00164   return -1;
00165 }

Boolean RTSPServer::specialClientAccessCheck ( int  clientSocket,
struct sockaddr_in &  clientAddr,
char const *  urlSuffix 
) [protected, virtual, inherited]

Definition at line 168 of file RTSPServer.cpp.

References True.

00168                                                                                                               {
00169   // default implementation
00170   return True;
00171 }

RTSPServer::RTSPClientSession * RTSPServer::createNewClientSession ( unsigned  sessionId,
int  clientSocket,
struct sockaddr_in  clientAddr 
) [protected, virtual, inherited]

Definition at line 1235 of file RTSPServer.cpp.

References RTSPServer::RTSPClientSession.

Referenced by RTSPServer::incomingConnectionHandler1().

01235                                                                                                       {
01236   return new RTSPClientSession(*this, sessionId, clientSocket, clientAddr);
01237 }

void Medium::close ( UsageEnvironment env,
char const *  mediumName 
) [static, inherited]

Definition at line 76 of file Media.cpp.

References env, MediaLookupTable::ourMedia(), and MediaLookupTable::remove().

Referenced by afterPlaying(), Medium::close(), closeMediaSinks(), OnDemandServerMediaSubsession::closeStreamSource(), continueAfterTEARDOWN(), WAVAudioFileSource::createNew(), QuickTimeFileSink::createNew(), QCELPAudioRTPSource::createNew(), MP3HTTPSource::createNew(), MP3FileSource::createNew(), AVIFileSink::createNew(), AMRAudioRTPSource::createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MediaSubsession::deInitiate(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), OnDemandServerMediaSubsession::sdpLines(), H264VideoRTPSink::stopPlaying(), subsessionAfterPlaying(), ClientTrickPlayState::updateStateOnScaleChange(), AMRDeinterleaver::~AMRDeinterleaver(), ByteStreamMultiFileSource::~ByteStreamMultiFileSource(), DarwinInjector::~DarwinInjector(), FramedFilter::~FramedFilter(), H264VideoRTPSink::~H264VideoRTPSink(), InputESSourceRecord::~InputESSourceRecord(), MPEG1or2Demux::~MPEG1or2Demux(), MPEG1or2FileServerDemux::~MPEG1or2FileServerDemux(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFromPESSource::~MPEG2TransportStreamFromPESSource(), ServerMediaSession::~ServerMediaSession(), and ServerMediaSubsession::~ServerMediaSubsession().

00076                                                           {
00077   MediaLookupTable::ourMedia(env)->remove(name);
00078 }

void Medium::close ( Medium medium  )  [static, inherited]

Definition at line 80 of file Media.cpp.

References Medium::close(), Medium::envir(), Medium::name(), and NULL.

00080                                  {
00081   if (medium == NULL) return;
00082 
00083   close(medium->envir(), medium->name());
00084 }

UsageEnvironment& Medium::envir (  )  const [inline, inherited]

Definition at line 59 of file Media.hh.

References Medium::fEnviron.

Referenced by QuickTimeFileSink::addArbitraryString(), FileSink::addData(), RTCPInstance::addStreamSocket(), MPEG2IFrameIndexFromTransportStream::addToTail(), StreamParser::afterGettingBytes(), MultiFramedRTPSink::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2IFrameIndexFromTransportStream::afterGettingFrame1(), HTTPSink::afterGettingFrame1(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoStreamParser::analyzeVOLHeader(), announceStream(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), QuickTimeFileSink::continuePlaying(), HTTPSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), AVIFileSink::continuePlaying(), MPEG4VideoFileServerMediaSubsession::createNewRTPSink(), MPEG2TransportFileServerMediaSubsession::createNewRTPSink(), MPEG1or2VideoFileServerMediaSubsession::createNewRTPSink(), MPEG1or2DemuxedServerMediaSubsession::createNewRTPSink(), H263plusVideoFileServerMediaSubsession::createNewRTPSink(), DVVideoFileServerMediaSubsession::createNewRTPSink(), AMRAudioFileServerMediaSubsession::createNewRTPSink(), ADTSAudioFileServerMediaSubsession::createNewRTPSink(), MPEG4VideoFileServerMediaSubsession::createNewStreamSource(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), MPEG1or2VideoFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), H263plusVideoFileServerMediaSubsession::createNewStreamSource(), DVVideoFileServerMediaSubsession::createNewStreamSource(), AMRAudioFileServerMediaSubsession::createNewStreamSource(), ADTSAudioFileServerMediaSubsession::createNewStreamSource(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), SegmentQueue::dequeue(), WAVAudioFileSource::doGetNextFrame(), MPEG2IFrameIndexFromTransportStream::doGetNextFrame(), MP3FileSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), SIPClient::doInviteStateMachine(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), MediaSubsession::env(), SubsessionIOState::envir(), RTSPServer::RTSPClientSession::envir(), RTSPOverHTTPServer::HTTPClientConnection::envir(), RTPInterface::envir(), AVISubsessionIOState::envir(), ServerMediaSession::generateSDPDescription(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MP3ADUTranscoder::getAttributes(), MediaSource::getAttributes(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), FramedSource::getNextFrame(), getOptions(), DVVideoStreamFramer::getProfile(), SIPClient::getResponse(), SIPClient::getResponseCode(), getSDPDescription(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPClient::handleGET_PARAMETERResponse(), RTSPClient::handleIncomingRequest(), RTSPClient::handlePLAYResponse(), RTSPClient::handleRequestError(), RTSPClient::handleResponseBytes(), RTSPClient::handleSETUPResponse(), RTSPServer::incomingConnectionHandler1(), RTSPOverHTTPServer::incomingConnectionHandler1(), RTSPClient::incomingDataHandler1(), RTCPInstance::incomingReportHandler1(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSession::initiateByMediaType(), SIPClient::invite1(), lookupServerMediaSession(), MPEG4GenericRTPSource::MPEG4GenericRTPSource(), MPEG1or2FileServerDemux::newElementaryStream(), MPEG1or2Demux::newElementaryStream(), MPEG4GenericBufferedPacket::nextEnclosedFrameSize(), AMRBufferedPacket::nextEnclosedFrameSize(), RTSPClient::openConnection(), MPEG2TransportStreamIndexFile::openFid(), MPEG2IFrameIndexFromTransportStream::parseFrame(), AC3AudioStreamParser::parseFrame(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), SIPClient::parseResponseCode(), MediaSession::parseSDPLine(), MPEG1or2VideoStreamParser::parseSlice(), MPEGProgramStreamParser::parseSystemHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG4VideoStreamParser::parseVisualObject(), AC3AudioRTPSource::processSpecialHeader(), SIPClient::processURL(), AC3AudioStreamParser::readAndSaveAFrame(), MPEG1or2Demux::registerReadInterest(), RTCPInstance::reschedule(), RTSPClient::resendCommand(), RTSPClient::resetTCPSockets(), RTSPClient::responseHandlerForHTTP_GET1(), RTSPServer::rtspURLPrefix(), RTCPInstance::schedule(), OnDemandServerMediaSubsession::sdpLines(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), MultiFramedRTPSink::sendPacketIfNecessary(), SIPClient::sendRequest(), RTSPClient::sendRequest(), DarwinInjector::setDestination(), RTSPClient::setupHTTPTunneling1(), QuickTimeFileSink::setWord(), AVIFileSink::setWord(), QuickTimeFileSink::setWord64(), SIPClient::SIPClient(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), QuickTimeFileSink::startPlaying(), StreamState::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), startPlayingSession(), PassiveServerMediaSubsession::startStream(), MediaSink::stopPlaying(), tearDownSession(), SIPClient::timerAHandler(), SIPClient::timerBHandler(), SIPClient::timerDHandler(), ClientTrickPlayState::updateStateOnScaleChange(), MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPOverHTTPServer::HTTPClientConnection::~HTTPClientConnection(), and RTSPServer::~RTSPServer().

00059 {return fEnviron;}

char const* Medium::name (  )  const [inline, inherited]

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

Referenced by QuickTimeFileSink::addAtom_hdlr2(), Medium::close(), MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), and MP3FileSource::initializeStream().

00061 {return fMediumName;}

Boolean Medium::isSource (  )  const [virtual, inherited]

Reimplemented in MediaSource.

Definition at line 86 of file Media.cpp.

References False.

Referenced by MediaSource::lookupByName().

00086                                {
00087   return False; // default implementation
00088 }

Boolean Medium::isSink (  )  const [virtual, inherited]

Reimplemented in MediaSink.

Definition at line 90 of file Media.cpp.

References False.

Referenced by MediaSink::lookupByName().

00090                              {
00091   return False; // default implementation
00092 }

Boolean Medium::isRTCPInstance (  )  const [virtual, inherited]

Reimplemented in RTCPInstance.

Definition at line 94 of file Media.cpp.

References False.

Referenced by RTCPInstance::lookupByName().

00094                                      {
00095   return False; // default implementation
00096 }

Boolean Medium::isRTSPClient (  )  const [virtual, inherited]

Reimplemented in RTSPClient.

Definition at line 98 of file Media.cpp.

References False.

Referenced by RTSPClient::lookupByName().

00098                                    {
00099   return False; // default implementation
00100 }

Boolean Medium::isMediaSession (  )  const [virtual, inherited]

Reimplemented in MediaSession.

Definition at line 106 of file Media.cpp.

References False.

Referenced by MediaSession::lookupByName().

00106                                      {
00107   return False; // default implementation
00108 }

Boolean Medium::isServerMediaSession (  )  const [virtual, inherited]

Reimplemented in ServerMediaSession.

Definition at line 110 of file Media.cpp.

References False.

Referenced by ServerMediaSession::lookupByName().

00110                                            {
00111   return False; // default implementation
00112 }

Boolean Medium::isDarwinInjector (  )  const [virtual, inherited]

Reimplemented in DarwinInjector.

Definition at line 114 of file Media.cpp.

References False.

Referenced by DarwinInjector::lookupByName().

00114                                        {
00115   return False; // default implementation
00116 }

TaskToken& Medium::nextTask (  )  [inline, protected, inherited]

Definition at line 77 of file Media.hh.

References Medium::fNextTask.

Referenced by BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), WAVAudioFileSource::doGetNextFrame(), MP3FileSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), ByteStreamFileSource::doReadFromFile(), RTCPInstance::reschedule(), RTCPInstance::schedule(), MultiFramedRTPSink::sendPacketIfNecessary(), and MediaSink::stopPlaying().

00077                         {
00078         return fNextTask;
00079   }


The documentation for this class was generated from the following files:
Generated on Fri Sep 3 02:37:13 2010 for live by  doxygen 1.5.2