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


Public Member Functions | |
| unsigned | trackNumber () const |
| char const * | trackId () |
| virtual void | pauseStream (unsigned clientSessionId, void *streamToken) |
| virtual void | seekStream (unsigned clientSessionId, void *streamToken, double seekNPT) |
| virtual void | setStreamScale (unsigned clientSessionId, void *streamToken, float scale) |
| virtual void | deleteStream (unsigned clientSessionId, void *&streamToken) |
| virtual void | testScaleFactor (float &scale) |
| virtual float | duration () const |
| void | setServerAddressAndPortForSDP (netAddressBits addressBits, portNumBits portBits) |
| 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 | isRTSPServer () const |
| virtual Boolean | isMediaSession () const |
| virtual Boolean | isServerMediaSession () const |
| virtual Boolean | isDarwinInjector () const |
Static Public Member Functions | |
| static PassiveServerMediaSubsession * | createNew (RTPSink &rtpSink, RTCPInstance *rtcpInstance=NULL) |
| 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 | |
| PassiveServerMediaSubsession (RTPSink &rtpSink, RTCPInstance *rtcpInstance) | |
| virtual | ~PassiveServerMediaSubsession () |
| virtual char const * | sdpLines () |
| virtual void | getStreamParameters (unsigned clientSessionId, netAddressBits clientAddress, Port const &clientRTPPort, Port const &clientRTCPPort, int tcpSocketNum, unsigned char rtpChannelId, unsigned char rtcpChannelId, netAddressBits &destinationAddress, u_int8_t &destinationTTL, Boolean &isMulticast, Port &serverRTPPort, Port &serverRTCPPort, void *&streamToken) |
| virtual void | startStream (unsigned clientSessionId, void *streamToken, TaskFunc *rtcpRRHandler, void *rtcpRRHandlerClientData, unsigned short &rtpSeqNum, unsigned &rtpTimestamp, ServerRequestAlternativeByteHandler *serverRequestAlternativeByteHandler, void *serverRequestAlternativeByteHandlerClientData) |
| char const * | rangeSDPLine () const |
| TaskToken & | nextTask () |
Protected Attributes | |
| char * | fSDPLines |
| ServerMediaSession * | fParentSession |
| netAddressBits | fServerAddressForSDP |
| portNumBits | fPortNumForSDP |
Private Attributes | |
| RTPSink & | fRTPSink |
| RTCPInstance * | fRTCPInstance |
Definition at line 36 of file PassiveServerMediaSubsession.hh.
| PassiveServerMediaSubsession::PassiveServerMediaSubsession | ( | RTPSink & | rtpSink, | |
| RTCPInstance * | rtcpInstance | |||
| ) | [protected] |
Definition at line 34 of file PassiveServerMediaSubsession.cpp.
Referenced by createNew().
00035 : ServerMediaSubsession(rtpSink.envir()), 00036 fSDPLines(NULL), fRTPSink(rtpSink), fRTCPInstance(rtcpInstance) { 00037 }
| PassiveServerMediaSubsession::~PassiveServerMediaSubsession | ( | ) | [protected, virtual] |
Definition at line 153 of file PassiveServerMediaSubsession.cpp.
References fSDPLines.
00153 { 00154 delete[] fSDPLines; 00155 }
| PassiveServerMediaSubsession * PassiveServerMediaSubsession::createNew | ( | RTPSink & | rtpSink, | |
| RTCPInstance * | rtcpInstance = NULL | |||
| ) | [static] |
Definition at line 28 of file PassiveServerMediaSubsession.cpp.
References PassiveServerMediaSubsession().
Referenced by main().
00029 { 00030 return new PassiveServerMediaSubsession(rtpSink, rtcpInstance); 00031 }
| char const * PassiveServerMediaSubsession::sdpLines | ( | ) | [protected, virtual] |
Implements ServerMediaSubsession.
Definition at line 40 of file PassiveServerMediaSubsession.cpp.
References RTPSink::auxSDPLine(), fRTCPInstance, fRTPSink, fSDPLines, Groupsock::groupAddress(), RTPSink::groupsockBeingUsed(), NULL, Port::num(), our_inet_ntoa(), Socket::port(), ServerMediaSubsession::rangeSDPLine(), RTPSink::rtpmapLine(), RTPSink::rtpPayloadType(), RTPSink::sdpMediaType(), strDup(), RTCPInstance::totSessionBW(), ServerMediaSubsession::trackId(), and Groupsock::ttl().
00040 { 00041 if (fSDPLines == NULL ) { 00042 // Construct a set of SDP lines that describe this subsession: 00043 // Use the components from "rtpSink": 00044 Groupsock const& gs = fRTPSink.groupsockBeingUsed(); 00045 struct in_addr const& ipAddress = gs.groupAddress(); 00046 unsigned short portNum = ntohs(gs.port().num()); 00047 unsigned char ttl = gs.ttl(); 00048 unsigned char rtpPayloadType = fRTPSink.rtpPayloadType(); 00049 char const* mediaType = fRTPSink.sdpMediaType(); 00050 unsigned estBitrate 00051 = fRTCPInstance == NULL ? 50 : fRTCPInstance->totSessionBW(); 00052 char* rtpmapLine = fRTPSink.rtpmapLine(); 00053 char const* rangeLine = rangeSDPLine(); 00054 char const* auxSDPLine = fRTPSink.auxSDPLine(); 00055 if (auxSDPLine == NULL) auxSDPLine = ""; 00056 00057 char* const ipAddressStr = strDup(our_inet_ntoa(ipAddress)); 00058 00059 char const* const sdpFmt = 00060 "m=%s %d RTP/AVP %d\r\n" 00061 "c=IN IP4 %s/%d\r\n" 00062 "b=AS:%u\r\n" 00063 "%s" 00064 "%s" 00065 "%s" 00066 "a=control:%s\r\n"; 00067 unsigned sdpFmtSize = strlen(sdpFmt) 00068 + strlen(mediaType) + 5 /* max short len */ + 3 /* max char len */ 00069 + strlen(ipAddressStr) + 3 /* max char len */ 00070 + 20 /* max int len */ 00071 + strlen(rtpmapLine) 00072 + strlen(rangeLine) 00073 + strlen(auxSDPLine) 00074 + strlen(trackId()); 00075 char* sdpLines = new char[sdpFmtSize]; 00076 sprintf(sdpLines, sdpFmt, 00077 mediaType, // m= <media> 00078 portNum, // m= <port> 00079 rtpPayloadType, // m= <fmt list> 00080 ipAddressStr, // c= <connection address> 00081 ttl, // c= TTL 00082 estBitrate, // b=AS:<bandwidth> 00083 rtpmapLine, // a=rtpmap:... (if present) 00084 rangeLine, // a=range:... (if present) 00085 auxSDPLine, // optional extra SDP line 00086 trackId()); // a=control:<track-id> 00087 delete[] ipAddressStr; delete[] (char*)rangeLine; delete[] rtpmapLine; 00088 00089 fSDPLines = strDup(sdpLines); 00090 delete[] sdpLines; 00091 } 00092 00093 return fSDPLines; 00094 }
| void PassiveServerMediaSubsession::getStreamParameters | ( | unsigned | clientSessionId, | |
| netAddressBits | clientAddress, | |||
| Port const & | clientRTPPort, | |||
| Port const & | clientRTCPPort, | |||
| int | tcpSocketNum, | |||
| unsigned char | rtpChannelId, | |||
| unsigned char | rtcpChannelId, | |||
| netAddressBits & | destinationAddress, | |||
| u_int8_t & | destinationTTL, | |||
| Boolean & | isMulticast, | |||
| Port & | serverRTPPort, | |||
| Port & | serverRTCPPort, | |||
| void *& | streamToken | |||
| ) | [protected, virtual] |
Implements ServerMediaSubsession.
Definition at line 97 of file PassiveServerMediaSubsession.cpp.
References Groupsock::changeDestinationParameters(), fRTCPInstance, fRTPSink, Groupsock::groupAddress(), RTPSink::groupsockBeingUsed(), NULL, Socket::port(), RTCPInstance::RTCPgs(), True, and Groupsock::ttl().
00109 { 00110 isMulticast = True; 00111 Groupsock& gs = fRTPSink.groupsockBeingUsed(); 00112 if (destinationTTL == 255) destinationTTL = gs.ttl(); 00113 if (destinationAddress == 0) { // normal case 00114 destinationAddress = gs.groupAddress().s_addr; 00115 } else { // use the client-specified destination address instead: 00116 struct in_addr destinationAddr; destinationAddr.s_addr = destinationAddress; 00117 gs.changeDestinationParameters(destinationAddr, 0, destinationTTL); 00118 if (fRTCPInstance != NULL) { 00119 Groupsock* rtcpGS = fRTCPInstance->RTCPgs(); 00120 rtcpGS->changeDestinationParameters(destinationAddr, 0, destinationTTL); 00121 } 00122 } 00123 serverRTPPort = gs.port(); 00124 if (fRTCPInstance != NULL) { 00125 Groupsock* rtcpGS = fRTCPInstance->RTCPgs(); 00126 serverRTCPPort = rtcpGS->port(); 00127 } 00128 streamToken = NULL; // not used 00129 }
| void PassiveServerMediaSubsession::startStream | ( | unsigned | clientSessionId, | |
| void * | streamToken, | |||
| TaskFunc * | rtcpRRHandler, | |||
| void * | rtcpRRHandlerClientData, | |||
| unsigned short & | rtpSeqNum, | |||
| unsigned & | rtpTimestamp, | |||
| ServerRequestAlternativeByteHandler * | serverRequestAlternativeByteHandler, | |||
| void * | serverRequestAlternativeByteHandlerClientData | |||
| ) | [protected, virtual] |
Implements ServerMediaSubsession.
Definition at line 131 of file PassiveServerMediaSubsession.cpp.
References RTPSink::currentSeqNo(), Medium::envir(), fRTCPInstance, fRTPSink, RTPSink::groupsockBeingUsed(), increaseSendBufferTo(), NULL, RTPSink::presetNextTimestamp(), Socket::socketNum(), and RTCPInstance::totSessionBW().
00138 { 00139 // Note: We don't set a RTCP RR handler, because (i) we're called potentially 00140 // many times on the same "RTCPInstance", and (ii) the "RTCPInstance" remains 00141 // in existence after "deleteStream()" is called. 00142 rtpSeqNum = fRTPSink.currentSeqNo(); 00143 rtpTimestamp = fRTPSink.presetNextTimestamp(); 00144 00145 // Try to use a big send buffer for RTP - at least 0.1 second of 00146 // specified bandwidth and at least 50 KB 00147 unsigned streamBitrate = fRTCPInstance == NULL ? 50 : fRTCPInstance->totSessionBW(); // in kbps 00148 unsigned rtpBufSize = streamBitrate * 25 / 2; // 1 kbps * 0.1 s = 12.5 bytes 00149 if (rtpBufSize < 50 * 1024) rtpBufSize = 50 * 1024; 00150 increaseSendBufferTo(envir(), fRTPSink.groupsockBeingUsed().socketNum(), rtpBufSize); 00151 }
| unsigned ServerMediaSubsession::trackNumber | ( | ) | const [inline, inherited] |
Definition at line 118 of file ServerMediaSession.hh.
References ServerMediaSubsession::fTrackNumber.
Referenced by OnDemandServerMediaSubsession::getStreamParameters(), and OnDemandServerMediaSubsession::sdpLines().
00118 { return fTrackNumber; }
| char const * ServerMediaSubsession::trackId | ( | ) | [inherited] |
Definition at line 326 of file ServerMediaSession.cpp.
References ServerMediaSubsession::fTrackId, ServerMediaSubsession::fTrackNumber, NULL, and strDup().
Referenced by sdpLines(), and OnDemandServerMediaSubsession::setSDPLinesFromRTPSink().
00326 { 00327 if (fTrackNumber == 0) return NULL; // not yet in a ServerMediaSession 00328 00329 if (fTrackId == NULL) { 00330 char buf[100]; 00331 sprintf(buf, "track%d", fTrackNumber); 00332 fTrackId = strDup(buf); 00333 } 00334 return fTrackId; 00335 }
| void ServerMediaSubsession::pauseStream | ( | unsigned | clientSessionId, | |
| void * | streamToken | |||
| ) | [virtual, inherited] |
Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.
Definition at line 337 of file ServerMediaSession.cpp.
| void ServerMediaSubsession::seekStream | ( | unsigned | clientSessionId, | |
| void * | streamToken, | |||
| double | seekNPT | |||
| ) | [virtual, inherited] |
Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.
Definition at line 341 of file ServerMediaSession.cpp.
| void ServerMediaSubsession::setStreamScale | ( | unsigned | clientSessionId, | |
| void * | streamToken, | |||
| float | scale | |||
| ) | [virtual, inherited] |
Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.
Definition at line 345 of file ServerMediaSession.cpp.
| void ServerMediaSubsession::deleteStream | ( | unsigned | clientSessionId, | |
| void *& | streamToken | |||
| ) | [virtual, inherited] |
Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.
Definition at line 349 of file ServerMediaSession.cpp.
| void ServerMediaSubsession::testScaleFactor | ( | float & | scale | ) | [virtual, inherited] |
Reimplemented in MP3AudioFileServerMediaSubsession, MPEG2TransportFileServerMediaSubsession, and WAVAudioFileServerMediaSubsession.
Definition at line 354 of file ServerMediaSession.cpp.
00354 { 00355 // default implementation: Support scale = 1 only 00356 scale = 1; 00357 }
| float ServerMediaSubsession::duration | ( | ) | const [virtual, inherited] |
Reimplemented in DVVideoFileServerMediaSubsession, MP3AudioFileServerMediaSubsession, MPEG1or2DemuxedServerMediaSubsession, MPEG2TransportFileServerMediaSubsession, and WAVAudioFileServerMediaSubsession.
Definition at line 359 of file ServerMediaSession.cpp.
Referenced by ServerMediaSubsession::rangeSDPLine().
| void ServerMediaSubsession::setServerAddressAndPortForSDP | ( | netAddressBits | addressBits, | |
| portNumBits | portBits | |||
| ) | [inherited] |
Definition at line 364 of file ServerMediaSession.cpp.
References ServerMediaSubsession::fPortNumForSDP, and ServerMediaSubsession::fServerAddressForSDP.
00365 { 00366 fServerAddressForSDP = addressBits; 00367 fPortNumForSDP = portBits; 00368 }
| char const * ServerMediaSubsession::rangeSDPLine | ( | ) | const [protected, inherited] |
Definition at line 371 of file ServerMediaSession.cpp.
References ServerMediaSubsession::duration(), ServerMediaSession::duration(), ServerMediaSubsession::fParentSession, NULL, and strDup().
Referenced by sdpLines(), and OnDemandServerMediaSubsession::setSDPLinesFromRTPSink().
00371 { 00372 if (fParentSession == NULL) return NULL; 00373 00374 // If all of our parent's subsessions have the same duration 00375 // (as indicated by "fParentSession->duration() >= 0"), there's no "a=range:" line: 00376 if (fParentSession->duration() >= 0.0) return strDup(""); 00377 00378 // Use our own duration for a "a=range:" line: 00379 float ourDuration = duration(); 00380 if (ourDuration == 0.0) { 00381 return strDup("a=range:npt=0-\r\n"); 00382 } else { 00383 char buf[100]; 00384 sprintf(buf, "a=range:npt=0-%.3f\r\n", ourDuration); 00385 return strDup(buf); 00386 } 00387 }
| 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 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(), DynamicRTSPServer::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(), 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] |
| 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::isRTSPServer | ( | ) | const [virtual, inherited] |
Reimplemented in RTSPServer.
Definition at line 102 of file Media.cpp.
References False.
Referenced by RTSPServer::lookupByName().
00102 { 00103 return False; // default implementation 00104 }
| 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 }
char* PassiveServerMediaSubsession::fSDPLines [protected] |
Definition at line 70 of file PassiveServerMediaSubsession.hh.
Referenced by sdpLines(), and ~PassiveServerMediaSubsession().
RTPSink& PassiveServerMediaSubsession::fRTPSink [private] |
Definition at line 73 of file PassiveServerMediaSubsession.hh.
Referenced by getStreamParameters(), sdpLines(), and startStream().
Definition at line 74 of file PassiveServerMediaSubsession.hh.
Referenced by getStreamParameters(), sdpLines(), and startStream().
ServerMediaSession* ServerMediaSubsession::fParentSession [protected, inherited] |
Definition at line 163 of file ServerMediaSession.hh.
Referenced by ServerMediaSubsession::rangeSDPLine().
netAddressBits ServerMediaSubsession::fServerAddressForSDP [protected, inherited] |
Definition at line 164 of file ServerMediaSession.hh.
Referenced by OnDemandServerMediaSubsession::setSDPLinesFromRTPSink(), and ServerMediaSubsession::setServerAddressAndPortForSDP().
portNumBits ServerMediaSubsession::fPortNumForSDP [protected, inherited] |
Definition at line 165 of file ServerMediaSession.hh.
Referenced by OnDemandServerMediaSubsession::setSDPLinesFromRTPSink(), and ServerMediaSubsession::setServerAddressAndPortForSDP().
1.5.2