#include <DynamicRTSPServer.hh>
Inheritance diagram for DynamicRTSPServer:


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 |
| UsageEnvironment & | envir () 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 DynamicRTSPServer * | createNew (UsageEnvironment &env, Port ourPort, UserAuthenticationDatabase *authDatabase) |
| static RTSPServer * | createNew (UsageEnvironment &env, Port ourPort=554, UserAuthenticationDatabase *authDatabase=NULL, unsigned reclamationTestSeconds=45) |
| 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) |
| TaskToken & | nextTask () |
Static Protected Member Functions | |
| static int | setUpOurSocket (UsageEnvironment &env, Port &ourPort) |
Private Member Functions | |
| DynamicRTSPServer (UsageEnvironment &env, int ourSocket, Port ourPort, UserAuthenticationDatabase *authDatabase) | |
| virtual | ~DynamicRTSPServer () |
| virtual ServerMediaSession * | lookupServerMediaSession (char const *streamName) |
Definition at line 28 of file DynamicRTSPServer.hh.
| DynamicRTSPServer::DynamicRTSPServer | ( | UsageEnvironment & | env, | |
| int | ourSocket, | |||
| Port | ourPort, | |||
| UserAuthenticationDatabase * | authDatabase | |||
| ) | [private] |
Definition at line 41 of file DynamicRTSPServer.cpp.
Referenced by createNew().
00044 : RTSPServer(env, ourSocket, ourPort, authDatabase, 45/*reclamationTestSeconds*/) { 00045 }
| DynamicRTSPServer::~DynamicRTSPServer | ( | ) | [private, virtual] |
| DynamicRTSPServer * DynamicRTSPServer::createNew | ( | UsageEnvironment & | env, | |
| Port | ourPort, | |||
| UserAuthenticationDatabase * | authDatabase | |||
| ) | [static] |
Definition at line 26 of file DynamicRTSPServer.cpp.
References closeSocket, DynamicRTSPServer(), env, NULL, and RTSPServer::setUpOurSocket().
Referenced by main().
00027 { 00028 int ourSocket = -1; 00029 00030 do { 00031 int ourSocket = setUpOurSocket(env, ourPort); 00032 if (ourSocket == -1) break; 00033 00034 return new DynamicRTSPServer(env, ourSocket, ourPort, authDatabase); 00035 } while (0); 00036 00037 if (ourSocket != -1) ::closeSocket(ourSocket); 00038 return NULL; 00039 }
| ServerMediaSession * DynamicRTSPServer::lookupServerMediaSession | ( | char const * | streamName | ) | [private, virtual] |
Reimplemented from RTSPServer.
Definition at line 54 of file DynamicRTSPServer.cpp.
References RTSPServer::addServerMediaSession(), createNewSMS(), Medium::envir(), RTSPServer::lookupServerMediaSession(), NULL, and RTSPServer::removeServerMediaSession().
00054 { 00055 // First, check whether the specified "streamName" exists as a local file: 00056 FILE* fid = fopen(streamName, "rb"); 00057 Boolean fileExists = fid != NULL; 00058 00059 // Next, check whether we already have a "ServerMediaSession" for this file: 00060 ServerMediaSession* sms = RTSPServer::lookupServerMediaSession(streamName); 00061 Boolean smsExists = sms != NULL; 00062 00063 // Handle the four possibilities for "fileExists" and "smsExists": 00064 if (!fileExists) { 00065 if (smsExists) { 00066 // "sms" was created for a file that no longer exists. Remove it: 00067 removeServerMediaSession(sms); 00068 } 00069 return NULL; 00070 } else { 00071 if (!smsExists) { 00072 // Create a new "ServerMediaSession" object for streaming from the named file. 00073 sms = createNewSMS(envir(), streamName, fid); 00074 addServerMediaSession(sms); 00075 } 00076 fclose(fid); 00077 return sms; 00078 } 00079 }
| RTSPServer * RTSPServer::createNew | ( | UsageEnvironment & | env, | |
| Port | ourPort = 554, |
|||
| UserAuthenticationDatabase * | authDatabase = NULL, |
|||
| unsigned | reclamationTestSeconds = 45 | |||
| ) | [static, inherited] |
Definition at line 37 of file RTSPServer.cpp.
References closeSocket, env, NULL, RTSPServer::RTSPServer(), and RTSPServer::setUpOurSocket().
Referenced by main().
00039 { 00040 int ourSocket = -1; 00041 00042 do { 00043 int ourSocket = setUpOurSocket(env, ourPort); 00044 if (ourSocket == -1) break; 00045 00046 return new RTSPServer(env, ourSocket, ourPort, authDatabase, 00047 reclamationTestSeconds); 00048 } while (0); 00049 00050 if (ourSocket != -1) ::closeSocket(ourSocket); 00051 return NULL; 00052 }
| Boolean RTSPServer::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | name, | |||
| RTSPServer *& | resultServer | |||
| ) | [static, inherited] |
Definition at line 54 of file RTSPServer.cpp.
References env, False, Medium::isRTSPServer(), Medium::lookupByName(), NULL, and True.
00056 { 00057 resultServer = NULL; // unless we succeed 00058 00059 Medium* medium; 00060 if (!Medium::lookupByName(env, name, medium)) return False; 00061 00062 if (!medium->isRTSPServer()) { 00063 env.setResultMsg(name, " is not a RTSP server"); 00064 return False; 00065 } 00066 00067 resultServer = (RTSPServer*)medium; 00068 return True; 00069 }
| 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 71 of file RTSPServer.cpp.
References HashTable::Add(), RTSPServer::fServerMediaSessions, NULL, RTSPServer::removeServerMediaSession(), and ServerMediaSession::streamName().
Referenced by lookupServerMediaSession(), and main().
00071 { 00072 if (serverMediaSession == NULL) return; 00073 00074 char const* sessionName = serverMediaSession->streamName(); 00075 if (sessionName == NULL) sessionName = ""; 00076 ServerMediaSession* existingSession 00077 = (ServerMediaSession*) 00078 (fServerMediaSessions->Add(sessionName, 00079 (void*)serverMediaSession)); 00080 removeServerMediaSession(existingSession); // if any 00081 }
| void RTSPServer::removeServerMediaSession | ( | ServerMediaSession * | serverMediaSession | ) | [inherited] |
Definition at line 87 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().
00087 { 00088 if (serverMediaSession == NULL) return; 00089 00090 fServerMediaSessions->Remove(serverMediaSession->streamName()); 00091 if (serverMediaSession->referenceCount() == 0) { 00092 Medium::close(serverMediaSession); 00093 } else { 00094 serverMediaSession->deleteWhenUnreferenced() = True; 00095 } 00096 }
| void RTSPServer::removeServerMediaSession | ( | char const * | streamName | ) | [inherited] |
Definition at line 98 of file RTSPServer.cpp.
References RTSPServer::lookupServerMediaSession(), and RTSPServer::removeServerMediaSession().
00098 { 00099 removeServerMediaSession(lookupServerMediaSession(streamName)); 00100 }
| char * RTSPServer::rtspURL | ( | ServerMediaSession const * | serverMediaSession, | |
| int | clientSocket = -1 | |||
| ) | const [inherited] |
Definition at line 128 of file RTSPServer.cpp.
References RTSPServer::rtspURLPrefix(), and ServerMediaSession::streamName().
Referenced by announceStream(), RTSPServer::RTSPClientSession::handleCmd_DESCRIBE(), RTSPServer::RTSPClientSession::handleCmd_PLAY(), and main().
00128 { 00129 char* urlPrefix = rtspURLPrefix(clientSocket); 00130 char const* sessionName = serverMediaSession->streamName(); 00131 00132 char* resultURL = new char[strlen(urlPrefix) + strlen(sessionName) + 1]; 00133 sprintf(resultURL, "%s%s", urlPrefix, sessionName); 00134 00135 delete[] urlPrefix; 00136 return resultURL; 00137 }
| char * RTSPServer::rtspURLPrefix | ( | int | clientSocket = -1 |
) | const [inherited] |
Definition at line 102 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().
00102 { 00103 struct sockaddr_in ourAddress; 00104 if (clientSocket < 0) { 00105 // Use our default IP address in the URL: 00106 ourAddress.sin_addr.s_addr = ReceivingInterfaceAddr != 0 00107 ? ReceivingInterfaceAddr 00108 : ourIPAddress(envir()); // hack 00109 } else { 00110 SOCKLEN_T namelen = sizeof ourAddress; 00111 getsockname(clientSocket, (struct sockaddr*)&ourAddress, &namelen); 00112 } 00113 00114 char urlBuffer[100]; // more than big enough for "rtsp://<ip-address>:<port>/" 00115 00116 portNumBits portNumHostOrder = ntohs(fServerPort.num()); 00117 if (portNumHostOrder == 554 /* the default port number */) { 00118 sprintf(urlBuffer, "rtsp://%s/", our_inet_ntoa(ourAddress.sin_addr)); 00119 } else { 00120 sprintf(urlBuffer, "rtsp://%s:%hu/", 00121 our_inet_ntoa(ourAddress.sin_addr), portNumHostOrder); 00122 } 00123 00124 return strDup(urlBuffer); 00125 }
| int RTSPServer::setUpOurSocket | ( | UsageEnvironment & | env, | |
| Port & | ourPort | |||
| ) | [static, protected, inherited] |
Definition at line 141 of file RTSPServer.cpp.
References closeSocket, env, getSourcePort(), increaseSendBufferTo(), LISTEN_BACKLOG_SIZE, Port::num(), UsageEnvironment::setResultErrMsg(), and setupStreamSocket().
Referenced by createNew(), and RTSPServer::createNew().
00141 { 00142 int ourSocket = -1; 00143 00144 do { 00145 ourSocket = setupStreamSocket(env, ourPort); 00146 if (ourSocket < 0) break; 00147 00148 // Make sure we have a big send buffer: 00149 if (!increaseSendBufferTo(env, ourSocket, 50*1024)) break; 00150 00151 // Allow multiple simultaneous connections: 00152 if (listen(ourSocket, LISTEN_BACKLOG_SIZE) < 0) { 00153 env.setResultErrMsg("listen() failed: "); 00154 break; 00155 } 00156 00157 if (ourPort.num() == 0) { 00158 // bind() will have chosen a port for us; return it also: 00159 if (!getSourcePort(env, ourSocket, ourPort)) break; 00160 } 00161 00162 return ourSocket; 00163 } while (0); 00164 00165 if (ourSocket != -1) ::closeSocket(ourSocket); 00166 return -1; 00167 }
| Boolean RTSPServer::specialClientAccessCheck | ( | int | clientSocket, | |
| struct sockaddr_in & | clientAddr, | |||
| char const * | urlSuffix | |||
| ) | [protected, virtual, inherited] |
Definition at line 170 of file RTSPServer.cpp.
References True.
00170 { 00171 // default implementation 00172 return True; 00173 }
| 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(), WAVAudioFileSource::createNew(), QCELPAudioRTPSource::createNew(), MP3HTTPSource::createNew(), MP3FileSource::createNew(), AMRAudioRTPSource::createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MediaSubsession::deInitiate(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), OnDemandServerMediaSubsession::sdpLines(), shutdown(), 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(), MPEG2IFrameIndexFromTransportStream::addToTail(), StreamParser::afterGettingBytes(), MultiFramedRTPSink::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2IFrameIndexFromTransportStream::afterGettingFrame1(), HTTPSink::afterGettingFrame1(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoStreamParser::analyzeVOLHeader(), RTSPClient::announceSDPDescription(), announceStream(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), QuickTimeFileSink::continuePlaying(), HTTPSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), AVIFileSink::continuePlaying(), MPEG4VideoFileServerMediaSubsession::createNewRTPSink(), MPEG2TransportFileServerMediaSubsession::createNewRTPSink(), MPEG1or2VideoFileServerMediaSubsession::createNewRTPSink(), MPEG1or2DemuxedServerMediaSubsession::createNewRTPSink(), H263plusVideoFileServerMediaSubsession::createNewRTPSink(), AMRAudioFileServerMediaSubsession::createNewRTPSink(), ADTSAudioFileServerMediaSubsession::createNewRTPSink(), MPEG4VideoFileServerMediaSubsession::createNewStreamSource(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), MPEG1or2VideoFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), H263plusVideoFileServerMediaSubsession::createNewStreamSource(), AMRAudioFileServerMediaSubsession::createNewStreamSource(), ADTSAudioFileServerMediaSubsession::createNewStreamSource(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), SegmentQueue::dequeue(), RTSPClient::describeURL(), 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(), RTSPClient::getMediaSessionParameter(), getMPEG1or2TimeCode(), FramedSource::getNextFrame(), getOptionsResponse(), SIPClient::getResponse(), RTSPClient::getResponse(), RTSPClient::getResponse1(), SIPClient::getResponseCode(), getSDPDescriptionFromURL(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPServer::incomingConnectionHandler1(), RTSPOverHTTPServer::incomingConnectionHandler1(), RTCPInstance::incomingReportHandler1(), RTSPClient::incomingRequestHandler1(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSession::initiateByMediaType(), SIPClient::invite1(), lookupServerMediaSession(), MPEG4GenericRTPSource::MPEG4GenericRTPSource(), MPEG1or2FileServerDemux::newElementaryStream(), MPEG1or2Demux::newElementaryStream(), MPEG4GenericBufferedPacket::nextEnclosedFrameSize(), AMRBufferedPacket::nextEnclosedFrameSize(), RTSPClient::openConnectionFromURL(), MPEG2TransportStreamIndexFile::openFid(), MPEG2IFrameIndexFromTransportStream::parseFrame(), AC3AudioStreamParser::parseFrame(), RTSPClient::parseGetParameterHeader(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), SIPClient::parseResponseCode(), RTSPClient::parseResponseCode(), MediaSession::parseSDPLine(), MPEG1or2VideoStreamParser::parseSlice(), MPEGProgramStreamParser::parseSystemHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG4VideoStreamParser::parseVisualObject(), RTSPClient::pauseMediaSession(), RTSPClient::pauseMediaSubsession(), RTSPClient::playMediaSession(), RTSPClient::playMediaSubsession(), AC3AudioRTPSource::processSpecialHeader(), SIPClient::processURL(), AC3AudioStreamParser::readAndSaveAFrame(), RTSPClient::recordMediaSubsession(), MPEG1or2Demux::registerReadInterest(), RTCPInstance::reschedule(), RTSPServer::rtspURLPrefix(), RTCPInstance::schedule(), OnDemandServerMediaSubsession::sdpLines(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), RTSPClient::sendOptionsCmd(), MultiFramedRTPSink::sendPacketIfNecessary(), SIPClient::sendRequest(), RTSPClient::sendRequest(), DarwinInjector::setDestination(), RTSPClient::setMediaSessionParameter(), RTSPClient::setupHTTPTunneling(), RTSPClient::setupMediaSubsession(), QuickTimeFileSink::setWord(), AVIFileSink::setWord(), SIPClient::SIPClient(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), QuickTimeFileSink::startPlaying(), StreamState::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), MediaSink::stopPlaying(), RTSPClient::teardownMediaSession(), RTSPClient::teardownMediaSubsession(), SIPClient::timerAHandler(), SIPClient::timerBHandler(), SIPClient::timerDHandler(), ClientTrickPlayState::updateStateOnScaleChange(), MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPOverHTTPServer::HTTPClientConnection::~HTTPClientConnection(), RTSPClient::~RTSPClient(), 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] |
| 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 }
1.5.2