PassiveServerMediaSubsession Class Reference

#include <PassiveServerMediaSubsession.hh>

Inheritance diagram for PassiveServerMediaSubsession:

Inheritance graph
[legend]
Collaboration diagram for PassiveServerMediaSubsession:

Collaboration graph
[legend]

Public Member Functions

unsigned trackNumber () const
char const * trackId ()
virtual void pauseStream (unsigned clientSessionId, void *streamToken)
virtual void seekStream (unsigned clientSessionId, void *streamToken, float 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)
UsageEnvironmentenvir () 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 PassiveServerMediaSubsessioncreateNew (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)
char const * rangeSDPLine () const
TaskTokennextTask ()

Protected Attributes

ServerMediaSessionfParentSession
netAddressBits fServerAddressForSDP
portNumBits fPortNumForSDP

Private Attributes

RTPSinkfRTPSink
RTCPInstancefRTCPInstance
char * fSDPLines

Detailed Description

Definition at line 36 of file PassiveServerMediaSubsession.hh.


Constructor & Destructor Documentation

PassiveServerMediaSubsession::PassiveServerMediaSubsession ( RTPSink rtpSink,
RTCPInstance rtcpInstance 
) [protected]

Definition at line 34 of file PassiveServerMediaSubsession.cpp.

Referenced by createNew().

00035   : ServerMediaSubsession(rtpSink.envir()),
00036     fRTPSink(rtpSink), fRTCPInstance(rtcpInstance), fSDPLines(NULL) {
00037 }

PassiveServerMediaSubsession::~PassiveServerMediaSubsession (  )  [protected, virtual]

Definition at line 139 of file PassiveServerMediaSubsession.cpp.

References fSDPLines.

00139                                                             {
00140   delete[] fSDPLines;
00141 }


Member Function Documentation

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(), fRTPSink, fSDPLines, Groupsock::groupAddress(), RTPSink::groupsockBeingUsed(), NULL, Port::num(), our_inet_ntoa(), Socket::port(), ServerMediaSubsession::rangeSDPLine(), RTPSink::rtpmapLine(), RTPSink::rtpPayloadType(), RTPSink::sdpMediaType(), strDup(), 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     char* rtpmapLine = fRTPSink.rtpmapLine();
00051     char const* rangeLine = rangeSDPLine();
00052     char const* auxSDPLine = fRTPSink.auxSDPLine();
00053     if (auxSDPLine == NULL) auxSDPLine = "";
00054 
00055     char* const ipAddressStr = strDup(our_inet_ntoa(ipAddress));
00056 
00057     char const* const sdpFmt =
00058       "m=%s %d RTP/AVP %d\r\n"
00059       "c=IN IP4 %s/%d\r\n"
00060       "%s"
00061       "%s"
00062       "%s"
00063       "a=control:%s\r\n";
00064     unsigned sdpFmtSize = strlen(sdpFmt)
00065       + strlen(mediaType) + 5 /* max short len */ + 3 /* max char len */
00066       + strlen(ipAddressStr) + 3 /* max char len */
00067       + strlen(rtpmapLine)
00068       + strlen(rangeLine)
00069       + strlen(auxSDPLine)
00070       + strlen(trackId());
00071     char* sdpLines = new char[sdpFmtSize];
00072     sprintf(sdpLines, sdpFmt,
00073             mediaType, // m= <media>
00074             portNum, // m= <port>
00075             rtpPayloadType, // m= <fmt list>
00076             ipAddressStr, // c= <connection address>
00077             ttl, // c= TTL
00078             rtpmapLine, // a=rtpmap:... (if present)
00079             rangeLine, // a=range:... (if present)
00080             auxSDPLine, // optional extra SDP line
00081             trackId()); // a=control:<track-id>
00082     delete[] ipAddressStr; delete[] (char*)rangeLine; delete[] rtpmapLine;
00083 
00084     fSDPLines = strDup(sdpLines);
00085     delete[] sdpLines;
00086   }
00087 
00088   return fSDPLines;
00089 }

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 92 of file PassiveServerMediaSubsession.cpp.

References Groupsock::changeDestinationParameters(), fRTCPInstance, fRTPSink, Groupsock::groupAddress(), RTPSink::groupsockBeingUsed(), NULL, Socket::port(), RTCPInstance::RTCPgs(), True, and Groupsock::ttl().

00104                                           {
00105   isMulticast = True;
00106   Groupsock& gs = fRTPSink.groupsockBeingUsed();
00107   if (destinationTTL == 255) destinationTTL = gs.ttl();
00108   if (destinationAddress == 0) { // normal case
00109     destinationAddress = gs.groupAddress().s_addr;
00110   } else { // use the client-specified destination address instead:
00111     struct in_addr destinationAddr; destinationAddr.s_addr = destinationAddress;
00112     gs.changeDestinationParameters(destinationAddr, 0, destinationTTL);
00113     if (fRTCPInstance != NULL) {
00114       Groupsock* rtcpGS = fRTCPInstance->RTCPgs();
00115       rtcpGS->changeDestinationParameters(destinationAddr, 0, destinationTTL);
00116     }
00117   }
00118   serverRTPPort = gs.port();
00119   if (fRTCPInstance != NULL) {
00120     Groupsock* rtcpGS = fRTCPInstance->RTCPgs();
00121     serverRTCPPort = rtcpGS->port();
00122   }
00123   streamToken = NULL; // not used
00124 }

void PassiveServerMediaSubsession::startStream ( unsigned  clientSessionId,
void *  streamToken,
TaskFunc rtcpRRHandler,
void *  rtcpRRHandlerClientData,
unsigned short &  rtpSeqNum,
unsigned &  rtpTimestamp 
) [protected, virtual]

Implements ServerMediaSubsession.

Definition at line 126 of file PassiveServerMediaSubsession.cpp.

References RTPSink::currentSeqNo(), fRTPSink, and RTPSink::presetNextTimestamp().

00131                                                                        {
00132   // Note: We don't set a RTCP RR handler, because (i) we're called potentially
00133   // many times on the same "RTCPInstance", and (ii) the "RTCPInstance" remains
00134   // in existence after "deleteStream()" is called.
00135   rtpSeqNum = fRTPSink.currentSeqNo();
00136   rtpTimestamp = fRTPSink.presetNextTimestamp();
00137 }

unsigned ServerMediaSubsession::trackNumber (  )  const [inline, inherited]

Definition at line 115 of file ServerMediaSession.hh.

References ServerMediaSubsession::fTrackNumber.

Referenced by OnDemandServerMediaSubsession::getStreamParameters(), and OnDemandServerMediaSubsession::sdpLines().

00115 { 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.

00338                                                                {
00339   // default implementation: do nothing
00340 }

void ServerMediaSubsession::seekStream ( unsigned  clientSessionId,
void *  streamToken,
float  seekNPT 
) [virtual, inherited]

Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.

Definition at line 341 of file ServerMediaSession.cpp.

00342                                                                                  {
00343   // default implementation: do nothing
00344 }

void ServerMediaSubsession::setStreamScale ( unsigned  clientSessionId,
void *  streamToken,
float  scale 
) [virtual, inherited]

Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.

Definition at line 345 of file ServerMediaSession.cpp.

00346                                                                                    {
00347   // default implementation: do nothing
00348 }

void ServerMediaSubsession::deleteStream ( unsigned  clientSessionId,
void *&  streamToken 
) [virtual, inherited]

Reimplemented in MPEG2TransportFileServerMediaSubsession, and OnDemandServerMediaSubsession.

Definition at line 349 of file ServerMediaSession.cpp.

00350                                                                  {
00351   // default implementation: do nothing
00352 }

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 MP3AudioFileServerMediaSubsession, MPEG1or2DemuxedServerMediaSubsession, MPEG2TransportFileServerMediaSubsession, and WAVAudioFileServerMediaSubsession.

Definition at line 359 of file ServerMediaSession.cpp.

Referenced by ServerMediaSubsession::rangeSDPLine().

00359                                             {
00360   // default implementation: assume an unbounded session:
00361   return 0.0;
00362 }

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(), 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(), 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(), DynamicRTSPServer::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]

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::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   }


Field Documentation

RTPSink& PassiveServerMediaSubsession::fRTPSink [private]

Definition at line 68 of file PassiveServerMediaSubsession.hh.

Referenced by getStreamParameters(), sdpLines(), and startStream().

RTCPInstance* PassiveServerMediaSubsession::fRTCPInstance [private]

Definition at line 69 of file PassiveServerMediaSubsession.hh.

Referenced by getStreamParameters().

char* PassiveServerMediaSubsession::fSDPLines [private]

Definition at line 70 of file PassiveServerMediaSubsession.hh.

Referenced by sdpLines(), and ~PassiveServerMediaSubsession().

ServerMediaSession* ServerMediaSubsession::fParentSession [protected, inherited]

Definition at line 158 of file ServerMediaSession.hh.

Referenced by ServerMediaSubsession::rangeSDPLine().

netAddressBits ServerMediaSubsession::fServerAddressForSDP [protected, inherited]

Definition at line 159 of file ServerMediaSession.hh.

Referenced by OnDemandServerMediaSubsession::setSDPLinesFromRTPSink(), and ServerMediaSubsession::setServerAddressAndPortForSDP().

portNumBits ServerMediaSubsession::fPortNumForSDP [protected, inherited]

Definition at line 160 of file ServerMediaSession.hh.

Referenced by OnDemandServerMediaSubsession::setSDPLinesFromRTPSink(), and ServerMediaSubsession::setServerAddressAndPortForSDP().


The documentation for this class was generated from the following files:
Generated on Tue Oct 7 15:40:04 2008 for live by  doxygen 1.5.2