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


Public Types | |
| typedef void( | onCreationFunc )(MatroskaFileServerDemux *newDemux, void *clientData) |
Public Member Functions | |
| ServerMediaSubsession * | newServerMediaSubsession () |
| ServerMediaSubsession * | newServerMediaSubsession (unsigned trackNumber) |
| MatroskaFile * | ourMatroskaFile () |
| char const * | fileName () const |
| float | fileDuration () const |
| MatroskaTrack * | lookup (unsigned trackNumber) |
| FramedSource * | newDemuxedTrack (unsigned clientSessionId, unsigned trackNumber) |
| 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 void | createNew (UsageEnvironment &env, char const *fileName, onCreationFunc *onCreation, void *onCreationClientData) |
| 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 | |
| TaskToken & | nextTask () |
Private Member Functions | |
| MatroskaFileServerDemux (UsageEnvironment &env, char const *fileName, onCreationFunc *onCreation, void *onCreationClientData) | |
| virtual | ~MatroskaFileServerDemux () |
| void | onMatroskaFileCreation (MatroskaFile *newFile) |
Static Private Member Functions | |
| static void | onMatroskaFileCreation (MatroskaFile *newFile, void *clientData) |
Private Attributes | |
| char const * | fFileName |
| onCreationFunc * | fOnCreation |
| void * | fOnCreationClientData |
| MatroskaFile * | fOurMatroskaFile |
| u_int8_t | fNextTrackTypeToCheck |
| unsigned | fLastClientSessionId |
| MatroskaDemux * | fLastCreatedDemux |
Friends | |
| class | MediaLookupTable |
Definition at line 32 of file MatroskaFileServerDemux.hh.
| typedef void( MatroskaFileServerDemux::onCreationFunc)(MatroskaFileServerDemux *newDemux, void *clientData) |
Definition at line 34 of file MatroskaFileServerDemux.hh.
| MatroskaFileServerDemux::MatroskaFileServerDemux | ( | UsageEnvironment & | env, | |
| char const * | fileName, | |||
| onCreationFunc * | onCreation, | |||
| void * | onCreationClientData | |||
| ) | [private] |
Definition at line 110 of file MatroskaFileServerDemux.cpp.
References MatroskaFile::createNew(), env, and onMatroskaFileCreation().
00111 : Medium(env), 00112 fFileName(fileName), fOnCreation(onCreation), fOnCreationClientData(onCreationClientData), 00113 fNextTrackTypeToCheck(0x1), fLastClientSessionId(0), fLastCreatedDemux(NULL) { 00114 MatroskaFile::createNew(env, fileName, onMatroskaFileCreation, this); 00115 }
| MatroskaFileServerDemux::~MatroskaFileServerDemux | ( | ) | [private, virtual] |
Definition at line 117 of file MatroskaFileServerDemux.cpp.
References Medium::close(), and fOurMatroskaFile.
00117 { 00118 Medium::close(fOurMatroskaFile); 00119 }
| void MatroskaFileServerDemux::createNew | ( | UsageEnvironment & | env, | |
| char const * | fileName, | |||
| onCreationFunc * | onCreation, | |||
| void * | onCreationClientData | |||
| ) | [static] |
Definition at line 31 of file MatroskaFileServerDemux.cpp.
References env.
Referenced by createNewSMS(), and main().
00031 { 00032 (void)new MatroskaFileServerDemux(env, fileName, onCreation, onCreationClientData); 00033 }
| ServerMediaSubsession * MatroskaFileServerDemux::newServerMediaSubsession | ( | ) |
Definition at line 35 of file MatroskaFileServerDemux.cpp.
References MatroskaFile::chosenAudioTrackNumber(), MatroskaFile::chosenSubtitleTrackNumber(), MatroskaFile::chosenVideoTrackNumber(), fNextTrackTypeToCheck, fOurMatroskaFile, MATROSKA_TRACK_TYPE_AUDIO, MATROSKA_TRACK_TYPE_OTHER, MATROSKA_TRACK_TYPE_SUBTITLE, MATROSKA_TRACK_TYPE_VIDEO, and NULL.
Referenced by createNewSMS(), and main().
00035 { 00036 ServerMediaSubsession* result; 00037 00038 for (result = NULL; result == NULL && fNextTrackTypeToCheck != MATROSKA_TRACK_TYPE_OTHER; fNextTrackTypeToCheck <<= 1) { 00039 unsigned trackNumber = 0; 00040 if (fNextTrackTypeToCheck == MATROSKA_TRACK_TYPE_VIDEO) trackNumber = fOurMatroskaFile->chosenVideoTrackNumber(); 00041 else if (fNextTrackTypeToCheck == MATROSKA_TRACK_TYPE_AUDIO) trackNumber = fOurMatroskaFile->chosenAudioTrackNumber(); 00042 else if (fNextTrackTypeToCheck == MATROSKA_TRACK_TYPE_SUBTITLE) trackNumber = fOurMatroskaFile->chosenSubtitleTrackNumber(); 00043 00044 result = newServerMediaSubsession(trackNumber); 00045 } 00046 00047 return result; 00048 }
| ServerMediaSubsession * MatroskaFileServerDemux::newServerMediaSubsession | ( | unsigned | trackNumber | ) |
Definition at line 50 of file MatroskaFileServerDemux.cpp.
References MatroskaTrack::codecID, T140TextMatroskaFileServerMediaSubsession::createNew(), VP8VideoMatroskaFileServerMediaSubsession::createNew(), H264VideoMatroskaFileServerMediaSubsession::createNew(), VorbisAudioMatroskaFileServerMediaSubsession::createNew(), AC3AudioMatroskaFileServerMediaSubsession::createNew(), AACAudioMatroskaFileServerMediaSubsession::createNew(), MP3AudioMatroskaFileServerMediaSubsession::createNew(), False, fOurMatroskaFile, MatroskaFile::lookup(), MatroskaTrack::mimeType, NULL, and MatroskaTrack::trackNumber.
00050 { 00051 MatroskaTrack* track = fOurMatroskaFile->lookup(trackNumber); 00052 if (track == NULL) return NULL; 00053 00054 // Use the track's "codecID" string to figure out which "ServerMediaSubsession" subclass to use: 00055 ServerMediaSubsession* result = NULL; 00056 if (strncmp(track->codecID, "A_MPEG", 6) == 0) { 00057 track->mimeType = "audio/MPEG"; 00058 result = MP3AudioMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber, False, NULL); 00059 } else if (strncmp(track->codecID, "A_AAC", 5) == 0) { 00060 track->mimeType = "audio/AAC"; 00061 result = AACAudioMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00062 } else if (strncmp(track->codecID, "A_AC3", 5) == 0) { 00063 track->mimeType = "audio/AC3"; 00064 result = AC3AudioMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00065 } else if (strncmp(track->codecID, "A_VORBIS", 8) == 0) { 00066 track->mimeType = "audio/VORBIS"; 00067 result = VorbisAudioMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00068 } else if (strcmp(track->codecID, "V_MPEG4/ISO/AVC") == 0) { 00069 track->mimeType = "video/H264"; 00070 result = H264VideoMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00071 } else if (strncmp(track->codecID, "V_VP8", 5) == 0) { 00072 track->mimeType = "video/VP8"; 00073 result = VP8VideoMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00074 } else if (strncmp(track->codecID, "S_TEXT", 6) == 0) { 00075 track->mimeType = "text/T140"; 00076 result = T140TextMatroskaFileServerMediaSubsession::createNew(*this, track->trackNumber); 00077 } 00078 00079 if (result != NULL) { 00080 #ifdef DEBUG 00081 fprintf(stderr, "Created 'ServerMediaSubsession' object for track #%d: %s (%s)\n", track->trackNumber, track->codecID, track->mimeType); 00082 #endif 00083 } 00084 00085 return result; 00086 }
| MatroskaFile* MatroskaFileServerDemux::ourMatroskaFile | ( | ) | [inline] |
Definition at line 51 of file MatroskaFileServerDemux.hh.
References fOurMatroskaFile.
00051 { return fOurMatroskaFile; }
| char const* MatroskaFileServerDemux::fileName | ( | ) | const [inline] |
Definition at line 52 of file MatroskaFileServerDemux.hh.
References fFileName.
00052 { return fFileName; }
| float MatroskaFileServerDemux::fileDuration | ( | ) | const [inline] |
Definition at line 53 of file MatroskaFileServerDemux.hh.
References MatroskaFile::fileDuration(), and fOurMatroskaFile.
Referenced by VP8VideoMatroskaFileServerMediaSubsession::duration(), VorbisAudioMatroskaFileServerMediaSubsession::duration(), T140TextMatroskaFileServerMediaSubsession::duration(), H264VideoMatroskaFileServerMediaSubsession::duration(), AC3AudioMatroskaFileServerMediaSubsession::duration(), and AACAudioMatroskaFileServerMediaSubsession::duration().
00053 { return fOurMatroskaFile->fileDuration(); }
| MatroskaTrack* MatroskaFileServerDemux::lookup | ( | unsigned | trackNumber | ) | [inline] |
Definition at line 54 of file MatroskaFileServerDemux.hh.
References fOurMatroskaFile, and MatroskaFile::lookup().
Referenced by VorbisAudioMatroskaFileServerMediaSubsession::createNewRTPSink(), AC3AudioMatroskaFileServerMediaSubsession::createNewRTPSink(), and AACAudioMatroskaFileServerMediaSubsession::createNewRTPSink().
00054 { return fOurMatroskaFile->lookup(trackNumber); } // shortcut
| FramedSource * MatroskaFileServerDemux::newDemuxedTrack | ( | unsigned | clientSessionId, | |
| unsigned | trackNumber | |||
| ) |
Definition at line 88 of file MatroskaFileServerDemux.cpp.
References fLastClientSessionId, fLastCreatedDemux, fOurMatroskaFile, MatroskaFile::newDemux(), MatroskaDemux::newDemuxedTrack(), and NULL.
Referenced by VP8VideoMatroskaFileServerMediaSubsession::createNewStreamSource(), VorbisAudioMatroskaFileServerMediaSubsession::createNewStreamSource(), T140TextMatroskaFileServerMediaSubsession::createNewStreamSource(), MP3AudioMatroskaFileServerMediaSubsession::createNewStreamSource(), H264VideoMatroskaFileServerMediaSubsession::createNewStreamSource(), AC3AudioMatroskaFileServerMediaSubsession::createNewStreamSource(), and AACAudioMatroskaFileServerMediaSubsession::createNewStreamSource().
00088 { 00089 MatroskaDemux* demuxToUse = NULL; 00090 00091 if (clientSessionId != 0 && clientSessionId == fLastClientSessionId) { 00092 demuxToUse = fLastCreatedDemux; // use the same demultiplexor as before 00093 // Note: This code relies upon the fact that the creation of streams for different 00094 // client sessions do not overlap - so all demuxed tracks are created for one "MatroskaDemux" at a time. 00095 // Also, the "clientSessionId != 0" test is a hack, because 'session 0' is special; its audio and video streams 00096 // are created and destroyed one-at-a-time, rather than both streams being 00097 // created, and then (later) both streams being destroyed (as is the case 00098 // for other ('real') session ids). Because of this, a separate demultiplexor is used for each 'session 0' track. 00099 } 00100 00101 if (demuxToUse == NULL) demuxToUse = fOurMatroskaFile->newDemux(); 00102 00103 fLastClientSessionId = clientSessionId; 00104 fLastCreatedDemux = demuxToUse; 00105 00106 return demuxToUse->newDemuxedTrack(trackNumber); 00107 }
| void MatroskaFileServerDemux::onMatroskaFileCreation | ( | MatroskaFile * | newFile, | |
| void * | clientData | |||
| ) | [static, private] |
Definition at line 121 of file MatroskaFileServerDemux.cpp.
Referenced by MatroskaFileServerDemux().
00121 { 00122 ((MatroskaFileServerDemux*)clientData)->onMatroskaFileCreation(newFile); 00123 }
| void MatroskaFileServerDemux::onMatroskaFileCreation | ( | MatroskaFile * | newFile | ) | [private] |
Definition at line 125 of file MatroskaFileServerDemux.cpp.
References fOnCreation, fOnCreationClientData, fOurMatroskaFile, and NULL.
00125 { 00126 fOurMatroskaFile = newFile; 00127 00128 // Now, call our own creation notification function: 00129 if (fOnCreation != NULL) (*fOnCreation)(this, fOnCreationClientData); 00130 }
| Boolean Medium::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | mediumName, | |||
| Medium *& | resultMedium | |||
| ) | [static, inherited] |
Definition at line 41 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().
00042 { 00043 resultMedium = MediaLookupTable::ourMedia(env)->lookup(mediumName); 00044 if (resultMedium == NULL) { 00045 env.setResultMsg("Medium ", mediumName, " does not exist"); 00046 return False; 00047 } 00048 00049 return True; 00050 }
| void Medium::close | ( | UsageEnvironment & | env, | |
| char const * | mediumName | |||
| ) | [static, inherited] |
Definition at line 52 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(), MP3FileSource::createNew(), AVIFileSink::createNew(), AMRAudioRTPSource::createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MediaSubsession::deInitiate(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), OnDemandServerMediaSubsession::sdpLines(), shutdownStream(), subsessionAfterPlaying(), ClientTrickPlayState::updateStateOnScaleChange(), AMRDeinterleaver::~AMRDeinterleaver(), ByteStreamMultiFileSource::~ByteStreamMultiFileSource(), DarwinInjector::~DarwinInjector(), FramedFilter::~FramedFilter(), H264VideoRTPSink::~H264VideoRTPSink(), InputESSourceRecord::~InputESSourceRecord(), MatroskaFileParser::~MatroskaFileParser(), ~MatroskaFileServerDemux(), MPEG1or2Demux::~MPEG1or2Demux(), MPEG1or2FileServerDemux::~MPEG1or2FileServerDemux(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFromPESSource::~MPEG2TransportStreamFromPESSource(), ProxyServerMediaSession::~ProxyServerMediaSession(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::~RTSPClientSessionSupportingHTTPStreaming(), ServerMediaSession::~ServerMediaSession(), ServerMediaSubsession::~ServerMediaSubsession(), StreamClientState::~StreamClientState(), StreamReplicator::~StreamReplicator(), and T140TextRTPSink::~T140TextRTPSink().
00052 { 00053 MediaLookupTable::ourMedia(env)->remove(name); 00054 }
| void Medium::close | ( | Medium * | medium | ) | [static, inherited] |
Definition at line 56 of file Media.cpp.
References Medium::close(), Medium::envir(), Medium::name(), and NULL.
00056 { 00057 if (medium == NULL) return; 00058 00059 close(medium->envir(), medium->name()); 00060 }
| 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::afterGettingBytes1(), DummySink::afterGettingFrame(), TCPStreamSink::afterGettingFrame(), T140IdleFilter::afterGettingFrame(), FileSink::afterGettingFrame(), MultiFramedRTPSink::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2IFrameIndexFromTransportStream::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), H264VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoStreamParser::analyzeVOLHeader(), announceStream(), RTSPServer::RTSPClientSession::changeClientInputSocket(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), ProxyServerMediaSubsession::closeStreamSource(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), ProxyServerMediaSession::continueAfterDESCRIBE(), ProxyRTSPClient::continueAfterOPTIONS(), ProxyRTSPClient::continueAfterSETUP(), T140TextRTPSink::continuePlaying(), QuickTimeFileSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), AVIFileSink::continuePlaying(), VP8VideoMatroskaFileServerMediaSubsession::createNewRTPSink(), VorbisAudioMatroskaFileServerMediaSubsession::createNewRTPSink(), T140TextMatroskaFileServerMediaSubsession::createNewRTPSink(), ProxyServerMediaSubsession::createNewRTPSink(), MPEG4VideoFileServerMediaSubsession::createNewRTPSink(), MPEG2TransportUDPServerMediaSubsession::createNewRTPSink(), MPEG2TransportFileServerMediaSubsession::createNewRTPSink(), MPEG1or2VideoFileServerMediaSubsession::createNewRTPSink(), MPEG1or2DemuxedServerMediaSubsession::createNewRTPSink(), MP3AudioFileServerMediaSubsession::createNewRTPSink(), H264VideoFileServerMediaSubsession::createNewRTPSink(), H263plusVideoFileServerMediaSubsession::createNewRTPSink(), DVVideoFileServerMediaSubsession::createNewRTPSink(), AMRAudioFileServerMediaSubsession::createNewRTPSink(), ADTSAudioFileServerMediaSubsession::createNewRTPSink(), AC3AudioMatroskaFileServerMediaSubsession::createNewRTPSink(), AC3AudioFileServerMediaSubsession::createNewRTPSink(), AACAudioMatroskaFileServerMediaSubsession::createNewRTPSink(), ProxyServerMediaSubsession::createNewStreamSource(), MPEG4VideoFileServerMediaSubsession::createNewStreamSource(), MPEG2TransportUDPServerMediaSubsession::createNewStreamSource(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), MPEG1or2VideoFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MP3AudioFileServerMediaSubsession::createNewStreamSource(), H264VideoMatroskaFileServerMediaSubsession::createNewStreamSource(), H264VideoFileServerMediaSubsession::createNewStreamSource(), H263plusVideoFileServerMediaSubsession::createNewStreamSource(), DVVideoFileServerMediaSubsession::createNewStreamSource(), AMRAudioFileServerMediaSubsession::createNewStreamSource(), ADTSAudioFileServerMediaSubsession::createNewStreamSource(), AC3AudioFileServerMediaSubsession::createNewStreamSource(), AMRDeinterleavingBuffer::deliverIncomingFrame(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), SegmentQueue::dequeue(), DeviceSource::DeviceSource(), WAVAudioFileSource::doGetNextFrame(), T140IdleFilter::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(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), WAVAudioFileSource::doStopGettingFrames(), T140IdleFilter::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), MediaSubsession::env(), SubsessionIOState::envir(), RTSPServer::RTSPClientSession::envir(), RTPInterface::envir(), AVISubsessionIOState::envir(), ServerMediaSession::generateSDPDescription(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MP3ADUTranscoder::getAttributes(), MediaSource::getAttributes(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), H264VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), FramedSource::getNextFrame(), getOptions(), DVVideoStreamFramer::getProfile(), SIPClient::getResponse(), SIPClient::getResponseCode(), getSDPDescription(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPClient::handleGET_PARAMETERResponse(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), RTSPClient::handleIncomingRequest(), RTSPClient::handlePLAYResponse(), RTSPClient::handleRequestError(), RTSPClient::handleResponseBytes(), RTSPClient::handleSETUPResponse(), RTSPServer::incomingConnectionHandler(), RTSPClient::incomingDataHandler1(), RTCPInstance::incomingReportHandler1(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSession::initiateByMediaType(), SIPClient::invite1(), DynamicRTSPServer::lookupServerMediaSession(), MatroskaDemux::MatroskaDemux(), MatroskaFile::MatroskaFile(), MPEG4GenericRTPSource::MPEG4GenericRTPSource(), MatroskaDemux::newDemuxedTrack(), MPEG1or2FileServerDemux::newElementaryStream(), MPEG1or2Demux::newElementaryStream(), MPEG4GenericBufferedPacket::nextEnclosedFrameSize(), AMRBufferedPacket::nextEnclosedFrameSize(), T140IdleFilter::onSourceClosure(), RTSPClient::openConnection(), MPEG2TransportStreamIndexFile::openFid(), MPEG2IFrameIndexFromTransportStream::parseFrame(), AC3AudioStreamParser::parseFrame(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), SIPClient::parseResponseCode(), MediaSession::parseSDPLine(), MPEG1or2VideoStreamParser::parseSlice(), MatroskaFileParser::parseStartOfFile(), MPEGProgramStreamParser::parseSystemHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG4VideoStreamParser::parseVisualObject(), TCPStreamSink::processBuffer(), SIPClient::processURL(), AC3AudioStreamParser::readAndSaveAFrame(), MPEG1or2Demux::registerReadInterest(), RTCPInstance::reschedule(), RTSPClient::resendCommand(), ProxyRTSPClient::reset(), RTSPClient::resetTCPSockets(), RTSPClient::responseHandlerForHTTP_GET1(), RTSPServer::rtspURLPrefix(), RTCPInstance::schedule(), ProxyRTSPClient::scheduleDESCRIBECommand(), ProxyRTSPClient::scheduleLivenessCommand(), OnDemandServerMediaSubsession::sdpLines(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), MultiFramedRTPSink::sendPacketIfNecessary(), SIPClient::sendRequest(), RTSPClient::sendRequest(), DarwinInjector::setDestination(), RTSPClient::setupHTTPTunneling1(), setupNextSubsession(), RTSPServer::setUpTunnelingOverHTTP(), QuickTimeFileSink::setWord(), AVIFileSink::setWord(), QuickTimeFileSink::setWord64(), shutdownStream(), SIPClient::SIPClient(), TCPStreamSink::socketWritableHandler1(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), QuickTimeFileSink::startPlaying(), StreamState::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), startPlayingSession(), PassiveServerMediaSubsession::startStream(), MediaSink::stopPlaying(), ProxyServerMediaSubsession::subsessionByeHandler(), tearDownSession(), SIPClient::timerAHandler(), SIPClient::timerBHandler(), SIPClient::timerDHandler(), ClientTrickPlayState::updateStateOnScaleChange(), MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), DeviceSource::~DeviceSource(), RTSPServer::~RTSPServer(), StreamClientState::~StreamClientState(), T140IdleFilter::~T140IdleFilter(), and WAVAudioFileSource::~WAVAudioFileSource().
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 62 of file Media.cpp.
References False.
Referenced by MediaSource::lookupByName().
00062 { 00063 return False; // default implementation 00064 }
| Boolean Medium::isSink | ( | ) | const [virtual, inherited] |
| Boolean Medium::isRTCPInstance | ( | ) | const [virtual, inherited] |
Reimplemented in RTCPInstance.
Definition at line 70 of file Media.cpp.
References False.
Referenced by RTCPInstance::lookupByName().
00070 { 00071 return False; // default implementation 00072 }
| Boolean Medium::isRTSPClient | ( | ) | const [virtual, inherited] |
Reimplemented in RTSPClient.
Definition at line 74 of file Media.cpp.
References False.
Referenced by RTSPClient::lookupByName().
00074 { 00075 return False; // default implementation 00076 }
| Boolean Medium::isRTSPServer | ( | ) | const [virtual, inherited] |
Reimplemented in RTSPServer.
Definition at line 78 of file Media.cpp.
References False.
Referenced by RTSPServer::lookupByName().
00078 { 00079 return False; // default implementation 00080 }
| Boolean Medium::isMediaSession | ( | ) | const [virtual, inherited] |
Reimplemented in MediaSession.
Definition at line 82 of file Media.cpp.
References False.
Referenced by MediaSession::lookupByName().
00082 { 00083 return False; // default implementation 00084 }
| Boolean Medium::isServerMediaSession | ( | ) | const [virtual, inherited] |
Reimplemented in ServerMediaSession.
Definition at line 86 of file Media.cpp.
References False.
Referenced by ServerMediaSession::lookupByName().
00086 { 00087 return False; // default implementation 00088 }
| Boolean Medium::isDarwinInjector | ( | ) | const [virtual, inherited] |
Reimplemented in DarwinInjector.
Definition at line 90 of file Media.cpp.
References False.
Referenced by DarwinInjector::lookupByName().
00090 { 00091 return False; // default implementation 00092 }
| TaskToken& Medium::nextTask | ( | ) | [inline, protected, inherited] |
Definition at line 78 of file Media.hh.
References Medium::fNextTask.
Referenced by BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), H264VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), MP3FileSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), RTCPInstance::reschedule(), RTCPInstance::schedule(), MultiFramedRTPSink::sendPacketIfNecessary(), and MediaSink::stopPlaying().
00078 { 00079 return fNextTask; 00080 }
friend class MediaLookupTable [friend, inherited] |
char const* MatroskaFileServerDemux::fFileName [private] |
void* MatroskaFileServerDemux::fOnCreationClientData [private] |
Definition at line 70 of file MatroskaFileServerDemux.hh.
Referenced by fileDuration(), lookup(), newDemuxedTrack(), newServerMediaSubsession(), onMatroskaFileCreation(), ourMatroskaFile(), and ~MatroskaFileServerDemux().
u_int8_t MatroskaFileServerDemux::fNextTrackTypeToCheck [private] |
unsigned MatroskaFileServerDemux::fLastClientSessionId [private] |
1.5.2