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


Public Types | |
| typedef void( | afterGettingFunc )(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) |
| typedef void( | onCloseFunc )(void *clientData) |
Public Member Functions | |
| Boolean | curPacketMarkerBit () const |
| unsigned char | rtpPayloadFormat () const |
| virtual Boolean | hasBeenSynchronizedUsingRTCP () |
| Groupsock * | RTPgs () const |
| u_int32_t | SSRC () const |
| unsigned | timestampFrequency () const |
| RTPReceptionStatsDB & | receptionStatsDB () const |
| u_int32_t | lastReceivedSSRC () const |
| Boolean & | enableRTCPReports () |
| void | setStreamSocket (int sockNum, unsigned char streamChannelId) |
| void | setServerRequestAlternativeByteHandler (int socketNum, ServerRequestAlternativeByteHandler *handler, void *clientData) |
| void | setAuxilliaryReadHandler (AuxHandlerFunc *handlerFunc, void *handlerClientData) |
| u_int16_t | curPacketRTPSeqNum () const |
| void | getNextFrame (unsigned char *to, unsigned maxSize, afterGettingFunc *afterGettingFunc, void *afterGettingClientData, onCloseFunc *onCloseFunc, void *onCloseClientData) |
| void | stopGettingFrames () |
| virtual unsigned | maxFrameSize () const |
| Boolean | isCurrentlyAwaitingData () const |
| virtual char const * | MIMEtype () const |
| virtual Boolean | isMPEG1or2VideoStreamFramer () const |
| virtual Boolean | isMPEG4VideoStreamFramer () const |
| virtual Boolean | isH264VideoStreamFramer () const |
| virtual Boolean | isDVVideoStreamFramer () const |
| virtual Boolean | isJPEGVideoSource () const |
| virtual Boolean | isAMRAudioSource () const |
| UsageEnvironment & | envir () const |
| char const * | name () 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 Boolean | lookupByName (UsageEnvironment &env, char const *sourceName, RTPSource *&resultSource) |
| static Boolean | lookupByName (UsageEnvironment &env, char const *sourceName, FramedSource *&resultSource) |
| static Boolean | lookupByName (UsageEnvironment &env, char const *sourceName, MediaSource *&resultSource) |
| static Boolean | lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium) |
| static void | handleClosure (void *clientData) |
| static void | afterGetting (FramedSource *source) |
| static void | close (UsageEnvironment &env, char const *mediumName) |
| static void | close (Medium *medium) |
Protected Member Functions | |
| MultiFramedRTPSource (UsageEnvironment &env, Groupsock *RTPgs, unsigned char rtpPayloadFormat, unsigned rtpTimestampFrequency, BufferedPacketFactory *packetFactory=NULL) | |
| virtual | ~MultiFramedRTPSource () |
| virtual Boolean | processSpecialHeader (BufferedPacket *packet, unsigned &resultSpecialHeaderSize) |
| virtual Boolean | packetIsUsableInJitterCalculation (unsigned char *packet, unsigned packetSize) |
| virtual void | doStopGettingFrames () |
| TaskToken & | nextTask () |
Protected Attributes | |
| Boolean | fCurrentPacketBeginsFrame |
| Boolean | fCurrentPacketCompletesFrame |
| RTPInterface | fRTPInterface |
| u_int16_t | fCurPacketRTPSeqNum |
| u_int32_t | fCurPacketRTPTimestamp |
| Boolean | fCurPacketMarkerBit |
| Boolean | fCurPacketHasBeenSynchronizedUsingRTCP |
| u_int32_t | fLastReceivedSSRC |
| unsigned char * | fTo |
| unsigned | fMaxSize |
| unsigned | fFrameSize |
| unsigned | fNumTruncatedBytes |
| timeval | fPresentationTime |
| unsigned | fDurationInMicroseconds |
Private Member Functions | |
| virtual void | doGetNextFrame () |
| virtual void | setPacketReorderingThresholdTime (unsigned uSeconds) |
| void | reset () |
| void | doGetNextFrame1 () |
| void | networkReadHandler1 () |
Static Private Member Functions | |
| static void | networkReadHandler (MultiFramedRTPSource *source, int) |
Private Attributes | |
| Boolean | fAreDoingNetworkReads |
| BufferedPacket * | fPacketReadInProgress |
| Boolean | fNeedDelivery |
| Boolean | fPacketLossInFragmentedFrame |
| unsigned char * | fSavedTo |
| unsigned | fSavedMaxSize |
| ReorderingPacketBuffer * | fReorderingBuffer |
Friends | |
| class | MediaLookupTable |
Definition at line 32 of file MultiFramedRTPSource.hh.
typedef void( FramedSource::afterGettingFunc)(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) [inherited] |
Definition at line 36 of file FramedSource.hh.
typedef void( FramedSource::onCloseFunc)(void *clientData) [inherited] |
Definition at line 40 of file FramedSource.hh.
| MultiFramedRTPSource::MultiFramedRTPSource | ( | UsageEnvironment & | env, | |
| Groupsock * | RTPgs, | |||
| unsigned char | rtpPayloadFormat, | |||
| unsigned | rtpTimestampFrequency, | |||
| BufferedPacketFactory * | packetFactory = NULL | |||
| ) | [protected] |
Definition at line 66 of file MultiFramedRTPSource.cpp.
References env, increaseReceiveBufferTo(), reset(), and Socket::socketNum().
00070 : RTPSource(env, RTPgs, rtpPayloadFormat, rtpTimestampFrequency) { 00071 reset(); 00072 fReorderingBuffer = new ReorderingPacketBuffer(packetFactory); 00073 00074 // Try to use a big receive buffer for RTP: 00075 increaseReceiveBufferTo(env, RTPgs->socketNum(), 50*1024); 00076 }
| MultiFramedRTPSource::~MultiFramedRTPSource | ( | ) | [protected, virtual] |
Definition at line 87 of file MultiFramedRTPSource.cpp.
References fReorderingBuffer, RTPSource::fRTPInterface, and RTPInterface::stopNetworkReading().
00087 { 00088 fRTPInterface.stopNetworkReading(); 00089 delete fReorderingBuffer; 00090 }
| Boolean MultiFramedRTPSource::processSpecialHeader | ( | BufferedPacket * | packet, | |
| unsigned & | resultSpecialHeaderSize | |||
| ) | [protected, virtual] |
Reimplemented in RawAMRRTPSource, AC3AudioRTPSource, DVVideoRTPSource, H261VideoRTPSource, H263plusVideoRTPSource, H264VideoRTPSource, JPEGVideoRTPSource, MPEG1or2AudioRTPSource, MPEG1or2VideoRTPSource, MPEG4ESVideoRTPSource, MPEG4GenericRTPSource, MPEG4LATMAudioRTPSource, QuickTimeGenericRTPSource, SimpleRTPSource, VorbisAudioRTPSource, VP8VideoRTPSource, and RawQCELPRTPSource.
Definition at line 93 of file MultiFramedRTPSource.cpp.
References True.
Referenced by doGetNextFrame1().
00094 { 00095 // Default implementation: Assume no special header: 00096 resultSpecialHeaderSize = 0; 00097 return True; 00098 }
| Boolean MultiFramedRTPSource::packetIsUsableInJitterCalculation | ( | unsigned char * | packet, | |
| unsigned | packetSize | |||
| ) | [protected, virtual] |
Reimplemented in MPEG1or2VideoRTPSource.
Definition at line 101 of file MultiFramedRTPSource.cpp.
References True.
Referenced by networkReadHandler1().
00102 { 00103 // Default implementation: 00104 return True; 00105 }
| void MultiFramedRTPSource::doStopGettingFrames | ( | ) | [protected, virtual] |
Reimplemented from FramedSource.
Definition at line 107 of file MultiFramedRTPSource.cpp.
References Medium::envir(), fReorderingBuffer, RTPSource::fRTPInterface, Medium::nextTask(), reset(), ReorderingPacketBuffer::reset(), RTPInterface::stopNetworkReading(), UsageEnvironment::taskScheduler(), and TaskScheduler::unscheduleDelayedTask().
00107 { 00108 envir().taskScheduler().unscheduleDelayedTask(nextTask()); 00109 fRTPInterface.stopNetworkReading(); 00110 fReorderingBuffer->reset(); 00111 reset(); 00112 }
| void MultiFramedRTPSource::doGetNextFrame | ( | ) | [private, virtual] |
Implements FramedSource.
Definition at line 114 of file MultiFramedRTPSource.cpp.
References doGetNextFrame1(), fAreDoingNetworkReads, FramedSource::fFrameSize, FramedSource::fMaxSize, fNeedDelivery, RTPSource::fRTPInterface, fSavedMaxSize, fSavedTo, FramedSource::fTo, networkReadHandler(), RTPInterface::startNetworkReading(), and True.
00114 { 00115 if (!fAreDoingNetworkReads) { 00116 // Turn on background read handling of incoming packets: 00117 fAreDoingNetworkReads = True; 00118 TaskScheduler::BackgroundHandlerProc* handler 00119 = (TaskScheduler::BackgroundHandlerProc*)&networkReadHandler; 00120 fRTPInterface.startNetworkReading(handler); 00121 } 00122 00123 fSavedTo = fTo; 00124 fSavedMaxSize = fMaxSize; 00125 fFrameSize = 0; // for now 00126 fNeedDelivery = True; 00127 doGetNextFrame1(); 00128 }
| void MultiFramedRTPSource::setPacketReorderingThresholdTime | ( | unsigned | uSeconds | ) | [private, virtual] |
Implements RTPSource.
Definition at line 215 of file MultiFramedRTPSource.cpp.
References fReorderingBuffer, and ReorderingPacketBuffer::setThresholdTime().
Referenced by networkReadHandler1().
00215 { 00216 fReorderingBuffer->setThresholdTime(uSeconds); 00217 }
| void MultiFramedRTPSource::reset | ( | ) | [private] |
Definition at line 78 of file MultiFramedRTPSource.cpp.
References False, fAreDoingNetworkReads, fCurrentPacketBeginsFrame, fCurrentPacketCompletesFrame, fNeedDelivery, fPacketLossInFragmentedFrame, fPacketReadInProgress, NULL, and True.
Referenced by doStopGettingFrames().
00078 { 00079 fCurrentPacketBeginsFrame = True; // by default 00080 fCurrentPacketCompletesFrame = True; // by default 00081 fAreDoingNetworkReads = False; 00082 fPacketReadInProgress = NULL; 00083 fNeedDelivery = False; 00084 fPacketLossInFragmentedFrame = False; 00085 }
| void MultiFramedRTPSource::doGetNextFrame1 | ( | ) | [private] |
Definition at line 130 of file MultiFramedRTPSource.cpp.
References FramedSource::afterGetting(), Medium::envir(), False, RTPSource::fCurPacketHasBeenSynchronizedUsingRTCP, RTPSource::fCurPacketMarkerBit, RTPSource::fCurPacketRTPSeqNum, RTPSource::fCurPacketRTPTimestamp, fCurrentPacketBeginsFrame, fCurrentPacketCompletesFrame, FramedSource::fFrameSize, FramedSource::fMaxSize, fNeedDelivery, FramedSource::fNumTruncatedBytes, fPacketLossInFragmentedFrame, FramedSource::fPresentationTime, frameSize, fReorderingBuffer, fSavedMaxSize, fSavedTo, FramedSource::fTo, ReorderingPacketBuffer::getNextCompletedPacket(), BufferedPacket::hasUsableData(), ReorderingPacketBuffer::isEmpty(), Medium::nextTask(), NULL, processSpecialHeader(), ReorderingPacketBuffer::releaseUsedPacket(), TaskScheduler::scheduleDelayedTask(), BufferedPacket::skip(), UsageEnvironment::taskScheduler(), True, BufferedPacket::use(), and BufferedPacket::useCount().
Referenced by doGetNextFrame(), and networkReadHandler1().
00130 { 00131 while (fNeedDelivery) { 00132 // If we already have packet data available, then deliver it now. 00133 Boolean packetLossPrecededThis; 00134 BufferedPacket* nextPacket 00135 = fReorderingBuffer->getNextCompletedPacket(packetLossPrecededThis); 00136 if (nextPacket == NULL) break; 00137 00138 fNeedDelivery = False; 00139 00140 if (nextPacket->useCount() == 0) { 00141 // Before using the packet, check whether it has a special header 00142 // that needs to be processed: 00143 unsigned specialHeaderSize; 00144 if (!processSpecialHeader(nextPacket, specialHeaderSize)) { 00145 // Something's wrong with the header; reject the packet: 00146 fReorderingBuffer->releaseUsedPacket(nextPacket); 00147 fNeedDelivery = True; 00148 break; 00149 } 00150 nextPacket->skip(specialHeaderSize); 00151 } 00152 00153 // Check whether we're part of a multi-packet frame, and whether 00154 // there was packet loss that would render this packet unusable: 00155 if (fCurrentPacketBeginsFrame) { 00156 if (packetLossPrecededThis || fPacketLossInFragmentedFrame) { 00157 // We didn't get all of the previous frame. 00158 // Forget any data that we used from it: 00159 fTo = fSavedTo; fMaxSize = fSavedMaxSize; 00160 fFrameSize = 0; 00161 } 00162 fPacketLossInFragmentedFrame = False; 00163 } else if (packetLossPrecededThis) { 00164 // We're in a multi-packet frame, with preceding packet loss 00165 fPacketLossInFragmentedFrame = True; 00166 } 00167 if (fPacketLossInFragmentedFrame) { 00168 // This packet is unusable; reject it: 00169 fReorderingBuffer->releaseUsedPacket(nextPacket); 00170 fNeedDelivery = True; 00171 break; 00172 } 00173 00174 // The packet is usable. Deliver all or part of it to our caller: 00175 unsigned frameSize; 00176 nextPacket->use(fTo, fMaxSize, frameSize, fNumTruncatedBytes, 00177 fCurPacketRTPSeqNum, fCurPacketRTPTimestamp, 00178 fPresentationTime, fCurPacketHasBeenSynchronizedUsingRTCP, 00179 fCurPacketMarkerBit); 00180 fFrameSize += frameSize; 00181 00182 if (!nextPacket->hasUsableData()) { 00183 // We're completely done with this packet now 00184 fReorderingBuffer->releaseUsedPacket(nextPacket); 00185 } 00186 00187 if (fCurrentPacketCompletesFrame) { 00188 // We have all the data that the client wants. 00189 if (fNumTruncatedBytes > 0) { 00190 envir() << "MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (" 00191 << fSavedMaxSize << "). " 00192 << fNumTruncatedBytes << " bytes of trailing data will be dropped!\n"; 00193 } 00194 // Call our own 'after getting' function, so that the downstream object can consume the data: 00195 if (fReorderingBuffer->isEmpty()) { 00196 // Common case optimization: There are no more queued incoming packets, so this code will not get 00197 // executed again without having first returned to the event loop. Call our 'after getting' function 00198 // directly, because there's no risk of a long chain of recursion (and thus stack overflow): 00199 afterGetting(this); 00200 } else { 00201 // Special case: Call our 'after getting' function via the event loop. 00202 nextTask() = envir().taskScheduler().scheduleDelayedTask(0, 00203 (TaskFunc*)FramedSource::afterGetting, this); 00204 } 00205 } else { 00206 // This packet contained fragmented data, and does not complete 00207 // the data that the client wants. Keep getting data: 00208 fTo += frameSize; fMaxSize -= frameSize; 00209 fNeedDelivery = True; 00210 } 00211 } 00212 }
| void MultiFramedRTPSource::networkReadHandler | ( | MultiFramedRTPSource * | source, | |
| int | ||||
| ) | [static, private] |
Definition at line 221 of file MultiFramedRTPSource.cpp.
References networkReadHandler1().
Referenced by doGetNextFrame().
00221 { 00222 source->networkReadHandler1(); 00223 }
| void MultiFramedRTPSource::networkReadHandler1 | ( | ) | [private] |
Definition at line 225 of file MultiFramedRTPSource.cpp.
References ADVANCE, BufferedPacket::assignMiscParams(), BufferedPacket::bytesAvailable(), BufferedPacket::data(), BufferedPacket::dataSize(), doGetNextFrame1(), Medium::envir(), False, BufferedPacket::fillInData(), RTPSource::fLastReceivedSSRC, fPacketReadInProgress, ReorderingPacketBuffer::freePacket(), fReorderingBuffer, RTPSource::fRTPInterface, ReorderingPacketBuffer::getFreePacket(), RTPReceptionStatsDB::noteIncomingPacket(), NULL, our_random(), packetIsUsableInJitterCalculation(), RTPSource::receptionStatsDB(), BufferedPacket::removePadding(), ReorderingPacketBuffer::resetHaveSeenFirstPacket(), RTPSource::rtpPayloadFormat(), setPacketReorderingThresholdTime(), ReorderingPacketBuffer::storePacket(), RTPSource::timestampFrequency(), and True.
Referenced by networkReadHandler().
00225 { 00226 BufferedPacket* bPacket = fPacketReadInProgress; 00227 if (bPacket == NULL) { 00228 // Normal case: Get a free BufferedPacket descriptor to hold the new network packet: 00229 bPacket = fReorderingBuffer->getFreePacket(this); 00230 } 00231 00232 // Read the network packet, and perform sanity checks on the RTP header: 00233 Boolean readSuccess = False; 00234 do { 00235 Boolean packetReadWasIncomplete = fPacketReadInProgress != NULL; 00236 if (!bPacket->fillInData(fRTPInterface, packetReadWasIncomplete)) { 00237 if (bPacket->bytesAvailable() == 0) { 00238 envir() << "MultiFramedRTPSource error: Hit limit when reading incoming packet over TCP. Increase \"MAX_PACKET_SIZE\"\n"; 00239 } 00240 fPacketReadInProgress = NULL; 00241 break; 00242 } 00243 if (packetReadWasIncomplete) { 00244 // We need additional read(s) before we can process the incoming packet: 00245 fPacketReadInProgress = bPacket; 00246 return; 00247 } else { 00248 fPacketReadInProgress = NULL; 00249 } 00250 #ifdef TEST_LOSS 00251 setPacketReorderingThresholdTime(0); 00252 // don't wait for 'lost' packets to arrive out-of-order later 00253 if ((our_random()%10) == 0) break; // simulate 10% packet loss 00254 #endif 00255 00256 // Check for the 12-byte RTP header: 00257 if (bPacket->dataSize() < 12) break; 00258 unsigned rtpHdr = ntohl(*(u_int32_t*)(bPacket->data())); ADVANCE(4); 00259 Boolean rtpMarkerBit = (rtpHdr&0x00800000) != 0; 00260 unsigned rtpTimestamp = ntohl(*(u_int32_t*)(bPacket->data()));ADVANCE(4); 00261 unsigned rtpSSRC = ntohl(*(u_int32_t*)(bPacket->data())); ADVANCE(4); 00262 00263 // Check the RTP version number (it should be 2): 00264 if ((rtpHdr&0xC0000000) != 0x80000000) break; 00265 00266 // Skip over any CSRC identifiers in the header: 00267 unsigned cc = (rtpHdr>>24)&0xF; 00268 if (bPacket->dataSize() < cc) break; 00269 ADVANCE(cc*4); 00270 00271 // Check for (& ignore) any RTP header extension 00272 if (rtpHdr&0x10000000) { 00273 if (bPacket->dataSize() < 4) break; 00274 unsigned extHdr = ntohl(*(u_int32_t*)(bPacket->data())); ADVANCE(4); 00275 unsigned remExtSize = 4*(extHdr&0xFFFF); 00276 if (bPacket->dataSize() < remExtSize) break; 00277 ADVANCE(remExtSize); 00278 } 00279 00280 // Discard any padding bytes: 00281 if (rtpHdr&0x20000000) { 00282 if (bPacket->dataSize() == 0) break; 00283 unsigned numPaddingBytes 00284 = (unsigned)(bPacket->data())[bPacket->dataSize()-1]; 00285 if (bPacket->dataSize() < numPaddingBytes) break; 00286 bPacket->removePadding(numPaddingBytes); 00287 } 00288 // Check the Payload Type. 00289 if ((unsigned char)((rtpHdr&0x007F0000)>>16) 00290 != rtpPayloadFormat()) { 00291 break; 00292 } 00293 00294 // The rest of the packet is the usable data. Record and save it: 00295 if (rtpSSRC != fLastReceivedSSRC) { 00296 // The SSRC of incoming packets has changed. Unfortunately we don't yet handle streams that contain multiple SSRCs, 00297 // but we can handle a single-SSRC stream where the SSRC changes occasionally: 00298 fLastReceivedSSRC = rtpSSRC; 00299 fReorderingBuffer->resetHaveSeenFirstPacket(); 00300 } 00301 unsigned short rtpSeqNo = (unsigned short)(rtpHdr&0xFFFF); 00302 Boolean usableInJitterCalculation 00303 = packetIsUsableInJitterCalculation((bPacket->data()), 00304 bPacket->dataSize()); 00305 struct timeval presentationTime; // computed by: 00306 Boolean hasBeenSyncedUsingRTCP; // computed by: 00307 receptionStatsDB() 00308 .noteIncomingPacket(rtpSSRC, rtpSeqNo, rtpTimestamp, 00309 timestampFrequency(), 00310 usableInJitterCalculation, presentationTime, 00311 hasBeenSyncedUsingRTCP, bPacket->dataSize()); 00312 00313 // Fill in the rest of the packet descriptor, and store it: 00314 struct timeval timeNow; 00315 gettimeofday(&timeNow, NULL); 00316 bPacket->assignMiscParams(rtpSeqNo, rtpTimestamp, presentationTime, 00317 hasBeenSyncedUsingRTCP, rtpMarkerBit, 00318 timeNow); 00319 if (!fReorderingBuffer->storePacket(bPacket)) break; 00320 00321 readSuccess = True; 00322 } while (0); 00323 if (!readSuccess) fReorderingBuffer->freePacket(bPacket); 00324 00325 doGetNextFrame1(); 00326 // If we didn't get proper data this time, we'll get another chance 00327 }
| Boolean RTPSource::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | sourceName, | |||
| RTPSource *& | resultSource | |||
| ) | [static, inherited] |
Definition at line 26 of file RTPSource.cpp.
References env, False, MediaSource::isRTPSource(), MediaSource::lookupByName(), NULL, and True.
00028 { 00029 resultSource = NULL; // unless we succeed 00030 00031 MediaSource* source; 00032 if (!MediaSource::lookupByName(env, sourceName, source)) return False; 00033 00034 if (!source->isRTPSource()) { 00035 env.setResultMsg(sourceName, " is not a RTP source"); 00036 return False; 00037 } 00038 00039 resultSource = (RTPSource*)source; 00040 return True; 00041 }
| Boolean FramedSource::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | sourceName, | |||
| FramedSource *& | resultSource | |||
| ) | [static, inherited] |
Definition at line 41 of file FramedSource.cpp.
References env, False, MediaSource::isFramedSource(), MediaSource::lookupByName(), NULL, and True.
Referenced by MP3ADUinterleaverBase::getInputSource().
00042 { 00043 resultSource = NULL; // unless we succeed 00044 00045 MediaSource* source; 00046 if (!MediaSource::lookupByName(env, sourceName, source)) return False; 00047 00048 if (!source->isFramedSource()) { 00049 env.setResultMsg(sourceName, " is not a framed source"); 00050 return False; 00051 } 00052 00053 resultSource = (FramedSource*)source; 00054 return True; 00055 }
| Boolean MediaSource::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | sourceName, | |||
| MediaSource *& | resultSource | |||
| ) | [static, inherited] |
Definition at line 65 of file MediaSource.cpp.
References env, False, Medium::isSource(), Medium::lookupByName(), NULL, and True.
Referenced by RTPSource::lookupByName(), and FramedSource::lookupByName().
00067 { 00068 resultSource = NULL; // unless we succeed 00069 00070 Medium* medium; 00071 if (!Medium::lookupByName(env, sourceName, medium)) return False; 00072 00073 if (!medium->isSource()) { 00074 env.setResultMsg(sourceName, " is not a media source"); 00075 return False; 00076 } 00077 00078 resultSource = (MediaSource*)medium; 00079 return True; 00080 }
| 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 }
| Boolean RTPSource::curPacketMarkerBit | ( | ) | const [inline, inherited] |
Definition at line 38 of file RTPSource.hh.
References RTPSource::fCurPacketMarkerBit.
Referenced by PresentationTimeSubsessionNormalizer::afterGettingFrame(), and SubsessionIOState::useFrameForHinting().
00038 { return fCurPacketMarkerBit; }
| unsigned char RTPSource::rtpPayloadFormat | ( | ) | const [inline, inherited] |
Definition at line 40 of file RTPSource.hh.
References RTPSource::fRTPPayloadFormat.
Referenced by QuickTimeFileSink::addAtom_hdlr2(), networkReadHandler1(), and SubsessionIOState::useFrameForHinting().
00040 { return fRTPPayloadFormat; }
| Boolean RTPSource::hasBeenSynchronizedUsingRTCP | ( | ) | [virtual, inherited] |
Reimplemented in RawAMRRTPSource, and RawQCELPRTPSource.
Definition at line 43 of file RTPSource.cpp.
References RTPSource::fCurPacketHasBeenSynchronizedUsingRTCP.
Referenced by DummySink::afterGettingFrame(), checkForPacketArrival(), PresentationTimeSessionNormalizer::normalizePresentationTime(), RawQCELPRTPSource::processSpecialHeader(), SubsessionIOState::syncOK(), and SubsessionIOState::useFrame().
00043 { 00044 return fCurPacketHasBeenSynchronizedUsingRTCP; 00045 }
| Groupsock* RTPSource::RTPgs | ( | ) | const [inline, inherited] |
Definition at line 44 of file RTPSource.hh.
References RTPSource::fRTPInterface, and RTPInterface::gs().
Referenced by continueAfterDESCRIBE(), VP8VideoRTPSource::createNew(), VorbisAudioRTPSource::createNew(), SimpleRTPSource::createNew(), QuickTimeGenericRTPSource::createNew(), RawQCELPRTPSource::createNew(), MPEG4LATMAudioRTPSource::createNew(), MPEG4GenericRTPSource::createNew(), MPEG4ESVideoRTPSource::createNew(), MPEG1or2VideoRTPSource::createNew(), MPEG1or2AudioRTPSource::createNew(), MP3ADURTPSource::createNew(), JPEGVideoRTPSource::createNew(), H264VideoRTPSource::createNew(), H263plusVideoRTPSource::createNew(), H261VideoRTPSource::createNew(), DVVideoRTPSource::createNew(), RawAMRRTPSource::createNew(), AC3AudioRTPSource::createNew(), and RTSPClient::handleSETUPResponse().
00044 { return fRTPInterface.gs(); }
| u_int32_t RTPSource::SSRC | ( | ) | const [inline, inherited] |
Definition at line 49 of file RTPSource.hh.
References RTPSource::fSSRC.
Referenced by RTCPInstance::addBYE(), RTCPInstance::addRR(), and RTCPInstance::addSDES().
00049 { return fSSRC; }
| unsigned RTPSource::timestampFrequency | ( | ) | const [inline, inherited] |
Definition at line 53 of file RTPSource.hh.
References RTPSource::fTimestampFrequency.
Referenced by QuickTimeFileSink::addAtom_hdlr2(), and networkReadHandler1().
00053 {return fTimestampFrequency;}
| RTPReceptionStatsDB& RTPSource::receptionStatsDB | ( | ) | const [inline, inherited] |
Definition at line 55 of file RTPSource.hh.
References RTPSource::fReceptionStatsDB.
Referenced by checkForPacketArrival(), checkInterPacketGaps(), RTCPInstance::enqueueCommonReportSuffix(), RTCPInstance::incomingReportHandler1(), networkReadHandler1(), printQOSData(), qosMeasurementRecord::qosMeasurementRecord(), and RTCPInstance::removeSSRC().
00055 { 00056 return *fReceptionStatsDB; 00057 }
| u_int32_t RTPSource::lastReceivedSSRC | ( | ) | const [inline, inherited] |
Definition at line 59 of file RTPSource.hh.
References RTPSource::fLastReceivedSSRC.
00059 { return fLastReceivedSSRC; }
| Boolean& RTPSource::enableRTCPReports | ( | ) | [inline, inherited] |
Definition at line 62 of file RTPSource.hh.
References RTPSource::fEnableRTCPReports.
Referenced by RTSPClient::handlePLAYResponse(), and RTSPClient::handleSETUPResponse().
00062 { return fEnableRTCPReports; }
| void RTPSource::setStreamSocket | ( | int | sockNum, | |
| unsigned char | streamChannelId | |||
| ) | [inline, inherited] |
Definition at line 64 of file RTPSource.hh.
References RTPSource::fRTPInterface, and RTPInterface::setStreamSocket().
Referenced by RTSPClient::handleSETUPResponse().
00064 { 00065 // hack to allow sending RTP over TCP (RFC 2236, section 10.12) 00066 fRTPInterface.setStreamSocket(sockNum, streamChannelId); 00067 }
| void RTPSource::setServerRequestAlternativeByteHandler | ( | int | socketNum, | |
| ServerRequestAlternativeByteHandler * | handler, | |||
| void * | clientData | |||
| ) | [inline, inherited] |
Definition at line 68 of file RTPSource.hh.
References RTPSource::fRTPInterface, and RTPInterface::setServerRequestAlternativeByteHandler().
Referenced by RTSPClient::handleSETUPResponse().
00068 { 00069 fRTPInterface.setServerRequestAlternativeByteHandler(socketNum, handler, clientData); 00070 }
| void RTPSource::setAuxilliaryReadHandler | ( | AuxHandlerFunc * | handlerFunc, | |
| void * | handlerClientData | |||
| ) | [inline, inherited] |
Definition at line 72 of file RTPSource.hh.
References RTPSource::fRTPInterface, and RTPInterface::setAuxilliaryReadHandler().
00073 { 00074 fRTPInterface.setAuxilliaryReadHandler(handlerFunc, 00075 handlerClientData); 00076 }
| u_int16_t RTPSource::curPacketRTPSeqNum | ( | ) | const [inline, inherited] |
Definition at line 81 of file RTPSource.hh.
References RTPSource::fCurPacketRTPSeqNum.
Referenced by SubsessionIOState::afterGettingFrame(), AVISubsessionIOState::afterGettingFrame(), QCELPDeinterleaver::afterGettingFrame1(), and AMRDeinterleavingBuffer::deliverIncomingFrame().
00081 { return fCurPacketRTPSeqNum; }
| void FramedSource::getNextFrame | ( | unsigned char * | to, | |
| unsigned | maxSize, | |||
| afterGettingFunc * | afterGettingFunc, | |||
| void * | afterGettingClientData, | |||
| onCloseFunc * | onCloseFunc, | |||
| void * | onCloseClientData | |||
| ) | [inherited] |
Definition at line 57 of file FramedSource.cpp.
References FramedSource::doGetNextFrame(), Medium::envir(), FramedSource::fAfterGettingClientData, FramedSource::fAfterGettingFunc, FramedSource::fDurationInMicroseconds, FramedSource::fIsCurrentlyAwaitingData, FramedSource::fMaxSize, FramedSource::fNumTruncatedBytes, FramedSource::fOnCloseClientData, FramedSource::fOnCloseFunc, FramedSource::fTo, UsageEnvironment::internalError(), and True.
Referenced by MPEG2TransportStreamFramer::afterGettingFrame1(), InputESSourceRecord::askForNewData(), MPEG2TransportStreamFromPESSource::awaitNewBuffer(), DummySink::continuePlaying(), QuickTimeFileSink::continuePlaying(), MFSD_DummySink::continuePlaying(), FileSink::continuePlaying(), AVIFileSink::continuePlaying(), BasicUDPSink::continuePlaying1(), StreamReplicator::deactivateStreamReplica(), StreamReplicator::deliverReceivedFrame(), EndianSwap24::doGetNextFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), T140IdleFilter::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), PresentationTimeSubsessionNormalizer::doGetNextFrame(), MPEG4VideoStreamDiscreteFramer::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), MPEG2IFrameIndexFromTransportStream::doGetNextFrame(), MPEG1or2VideoStreamDiscreteFramer::doGetNextFrame(), MP3ADUTranscoder::doGetNextFrame(), MP3ADUdeinterleaver::doGetNextFrame(), MP3ADUinterleaver::doGetNextFrame(), H264VideoStreamDiscreteFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), DVVideoStreamFramer::getProfile(), MultiFramedRTPSink::packFrame(), TCPStreamSink::processBuffer(), AC3AudioStreamParser::readAndSaveAFrame(), and MPEG2TransportStreamTrickModeFilter::readTransportPacket().
00061 { 00062 // Make sure we're not already being read: 00063 if (fIsCurrentlyAwaitingData) { 00064 envir() << "FramedSource[" << this << "]::getNextFrame(): attempting to read more than once at the same time!\n"; 00065 envir().internalError(); 00066 } 00067 00068 fTo = to; 00069 fMaxSize = maxSize; 00070 fNumTruncatedBytes = 0; // by default; could be changed by doGetNextFrame() 00071 fDurationInMicroseconds = 0; // by default; could be changed by doGetNextFrame() 00072 fAfterGettingFunc = afterGettingFunc; 00073 fAfterGettingClientData = afterGettingClientData; 00074 fOnCloseFunc = onCloseFunc; 00075 fOnCloseClientData = onCloseClientData; 00076 fIsCurrentlyAwaitingData = True; 00077 00078 doGetNextFrame(); 00079 }
| void FramedSource::handleClosure | ( | void * | clientData | ) | [static, inherited] |
Definition at line 95 of file FramedSource.cpp.
References False, FramedSource::fIsCurrentlyAwaitingData, FramedSource::fOnCloseClientData, FramedSource::fOnCloseFunc, and NULL.
Referenced by MPEG2TransportStreamFramer::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), InputESSourceRecord::askForNewData(), MPEG2TransportStreamFromPESSource::awaitNewBuffer(), WAVAudioFileSource::doGetNextFrame(), EndianSwap24::doGetNextFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), PresentationTimeSubsessionNormalizer::doGetNextFrame(), MPEG4VideoStreamDiscreteFramer::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), MPEG1or2VideoStreamDiscreteFramer::doGetNextFrame(), MPEG1or2DemuxedElementaryStream::doGetNextFrame(), MP3FileSource::doGetNextFrame(), MP3ADUTranscoder::doGetNextFrame(), MP3ADUdeinterleaver::doGetNextFrame(), MP3ADUinterleaver::doGetNextFrame(), ADUFromMP3Source::doGetNextFrame(), H264VideoStreamDiscreteFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DeviceSource::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), SegmentQueue::enqueueNewSegment(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), DVVideoStreamFramer::getProfile(), MatroskaDemux::handleEndOfFile(), MPEG2IFrameIndexFromTransportStream::handleInputClosure1(), T140IdleFilter::onSourceClosure(), StreamReplicator::onSourceClosure(), MPEG2TransportStreamTrickModeFilter::onSourceClosure1(), and ProxyServerMediaSubsession::subsessionByeHandler().
00095 { 00096 FramedSource* source = (FramedSource*)clientData; 00097 source->fIsCurrentlyAwaitingData = False; // because we got a close instead 00098 if (source->fOnCloseFunc != NULL) { 00099 (*(source->fOnCloseFunc))(source->fOnCloseClientData); 00100 } 00101 }
| void FramedSource::stopGettingFrames | ( | ) | [inherited] |
Definition at line 103 of file FramedSource.cpp.
References FramedSource::doStopGettingFrames(), False, and FramedSource::fIsCurrentlyAwaitingData.
Referenced by FileSink::afterGettingFrame(), StreamReplicator::deactivateStreamReplica(), QCELPDeinterleaver::doStopGettingFrames(), MPEG2TransportStreamFromPESSource::doStopGettingFrames(), FramedFilter::doStopGettingFrames(), AMRDeinterleaver::doStopGettingFrames(), and MediaSink::stopPlaying().
00103 { 00104 fIsCurrentlyAwaitingData = False; // indicates that we can be read again 00105 00106 // Perform any specialized action now: 00107 doStopGettingFrames(); 00108 }
| unsigned FramedSource::maxFrameSize | ( | ) | const [virtual, inherited] |
Reimplemented in MPEG1or2DemuxedElementaryStream.
Definition at line 116 of file FramedSource.cpp.
Referenced by StreamParser::ensureValidBytes1().
| Boolean FramedSource::isCurrentlyAwaitingData | ( | ) | const [inline, inherited] |
Definition at line 60 of file FramedSource.hh.
References FramedSource::fIsCurrentlyAwaitingData.
Referenced by T140IdleFilter::afterGettingFrame(), afterPlaying(), InputESSourceRecord::askForNewData(), MPEG2TransportStreamFromESSource::awaitNewBuffer(), MatroskaFileParser::continueParsing(), QuickTimeFileSink::continuePlaying(), AVIFileSink::continuePlaying(), StreamReplicator::deactivateStreamReplica(), DeviceSource::deliverFrame(), MatroskaFileParser::deliverFrameWithinBlock(), T140IdleFilter::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), WAVAudioFileSource::fileReadableHandler(), ByteStreamFileSource::fileReadableHandler(), StreamReplicator::getNextFrame(), BasicUDPSource::incomingPacketHandler1(), and TCPStreamSink::processBuffer().
00060 {return fIsCurrentlyAwaitingData;}
| void FramedSource::afterGetting | ( | FramedSource * | source | ) | [static, inherited] |
Definition at line 81 of file FramedSource.cpp.
References FramedSource::fAfterGettingClientData, FramedSource::fAfterGettingFunc, False, FramedSource::fDurationInMicroseconds, FramedSource::fFrameSize, FramedSource::fIsCurrentlyAwaitingData, FramedSource::fNumTruncatedBytes, FramedSource::fPresentationTime, and NULL.
Referenced by PresentationTimeSubsessionNormalizer::afterGettingFrame(), ByteStreamMultiFileSource::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2DemuxedElementaryStream::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient(), MPEGVideoStreamFramer::continueReadProcessing(), MPEG1or2AudioStreamFramer::continueReadProcessing(), H263plusVideoStreamFramer::continueReadProcessing(), T140IdleFilter::deliverEmptyFrame(), DeviceSource::deliverFrame(), MatroskaFileParser::deliverFrameBytes(), T140IdleFilter::deliverFromBuffer(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), StreamReplicator::deliverReceivedFrame(), QCELPDeinterleaver::doGetNextFrame(), MPEG2TransportStreamTrickModeFilter::doGetNextFrame(), MPEG2TransportStreamMultiplexor::doGetNextFrame(), MP3FileSource::doGetNextFrame(), MP3ADUdeinterleaver::doGetNextFrame(), MP3ADUinterleaver::doGetNextFrame(), MP3FromADUSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), BasicUDPSource::incomingPacketHandler1(), and AC3AudioStreamFramer::parseNextFrame().
00081 { 00082 source->fIsCurrentlyAwaitingData = False; 00083 // indicates that we can be read again 00084 // Note that this needs to be done here, in case the "fAfterFunc" 00085 // called below tries to read another frame (which it usually will) 00086 00087 if (source->fAfterGettingFunc != NULL) { 00088 (*(source->fAfterGettingFunc))(source->fAfterGettingClientData, 00089 source->fFrameSize, source->fNumTruncatedBytes, 00090 source->fPresentationTime, 00091 source->fDurationInMicroseconds); 00092 } 00093 }
| char const * MediaSource::MIMEtype | ( | ) | const [virtual, inherited] |
Reimplemented in RawAMRRTPSource, AC3AudioRTPSource, AMRAudioSource, DVVideoRTPSource, FramedFilter, H261VideoRTPSource, H263plusVideoRTPSource, H264VideoRTPSource, JPEGVideoRTPSource, ADUFromMP3Source, MP3FromADUSource, MP3ADURTPSource, MP3FileSource, MPEG1or2AudioRTPSource, MPEG1or2DemuxedElementaryStream, MPEG1or2VideoRTPSource, MPEG4ESVideoRTPSource, MPEG4GenericRTPSource, MPEG4LATMAudioRTPSource, QuickTimeGenericRTPSource, SimpleRTPSource, VorbisAudioRTPSource, VP8VideoRTPSource, MatroskaDemuxedTrack, and RawQCELPRTPSource.
Definition at line 36 of file MediaSource.cpp.
Referenced by MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), MP3ADUinterleaverBase::getInputSource(), MediaSession::initiateByMediaType(), SimpleRTPSource::MIMEtype(), QuickTimeGenericRTPSource::MIMEtype(), FramedFilter::MIMEtype(), and MPEG1or2DemuxedElementaryStream::MPEG1or2DemuxedElementaryStream().
| Boolean MediaSource::isMPEG1or2VideoStreamFramer | ( | ) | const [virtual, inherited] |
Reimplemented in MPEG1or2VideoStreamFramer.
Definition at line 46 of file MediaSource.cpp.
References False.
Referenced by MPEG1or2VideoRTPSink::sourceIsCompatibleWithUs().
00046 { 00047 return False; // default implementation 00048 }
| Boolean MediaSource::isMPEG4VideoStreamFramer | ( | ) | const [virtual, inherited] |
Reimplemented in MPEG4VideoStreamFramer.
Definition at line 49 of file MediaSource.cpp.
References False.
Referenced by MPEG4ESVideoRTPSink::sourceIsCompatibleWithUs().
00049 { 00050 return False; // default implementation 00051 }
| Boolean MediaSource::isH264VideoStreamFramer | ( | ) | const [virtual, inherited] |
Reimplemented in H264VideoStreamFramer.
Definition at line 52 of file MediaSource.cpp.
References False.
Referenced by H264VideoRTPSink::sourceIsCompatibleWithUs().
00052 { 00053 return False; // default implementation 00054 }
| Boolean MediaSource::isDVVideoStreamFramer | ( | ) | const [virtual, inherited] |
Reimplemented in DVVideoStreamFramer.
Definition at line 55 of file MediaSource.cpp.
References False.
Referenced by DVVideoRTPSink::sourceIsCompatibleWithUs().
00055 { 00056 return False; // default implementation 00057 }
| Boolean MediaSource::isJPEGVideoSource | ( | ) | const [virtual, inherited] |
Reimplemented in JPEGVideoSource.
Definition at line 58 of file MediaSource.cpp.
References False.
Referenced by JPEGVideoRTPSink::sourceIsCompatibleWithUs().
00058 { 00059 return False; // default implementation 00060 }
| Boolean MediaSource::isAMRAudioSource | ( | ) | const [virtual, inherited] |
Reimplemented in AMRAudioSource.
Definition at line 61 of file MediaSource.cpp.
References False.
Referenced by AMRAudioRTPSink::sourceIsCompatibleWithUs(), and AMRAudioFileSink::sourceIsCompatibleWithUs().
00061 { 00062 return False; // default implementation 00063 }
| 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(), ServerMediaSession::deleteAllSubsessions(), RTSPServerSupportingHTTPStreaming::RTSPClientConnectionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), ProxyServerMediaSession::resetDESCRIBEState(), OnDemandServerMediaSubsession::sdpLines(), shutdownStream(), subsessionAfterPlaying(), ClientTrickPlayState::updateStateOnScaleChange(), AMRDeinterleaver::~AMRDeinterleaver(), ByteStreamMultiFileSource::~ByteStreamMultiFileSource(), DarwinInjector::~DarwinInjector(), FramedFilter::~FramedFilter(), H264VideoRTPSink::~H264VideoRTPSink(), InputESSourceRecord::~InputESSourceRecord(), MatroskaFileParser::~MatroskaFileParser(), MatroskaFileServerDemux::~MatroskaFileServerDemux(), MPEG1or2Demux::~MPEG1or2Demux(), MPEG1or2FileServerDemux::~MPEG1or2FileServerDemux(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFromPESSource::~MPEG2TransportStreamFromPESSource(), ProxyServerMediaSession::~ProxyServerMediaSession(), RTSPServerSupportingHTTPStreaming::RTSPClientConnectionSupportingHTTPStreaming::~RTSPClientConnectionSupportingHTTPStreaming(), 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::RTSPClientConnection::changeClientInputSocket(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), ProxyServerMediaSubsession::closeStreamSource(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), ProxyServerMediaSession::continueAfterDESCRIBE(), ProxyRTSPClient::continueAfterLivenessCommand(), 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(), MPEG2TransportStreamMultiplexor::doGetNextFrame(), MPEG2IFrameIndexFromTransportStream::doGetNextFrame(), MP3FileSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), SIPClient::doInviteStateMachine(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), WAVAudioFileSource::doStopGettingFrames(), T140IdleFilter::doStopGettingFrames(), doStopGettingFrames(), FramedSource::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), MediaSubsession::env(), SubsessionIOState::envir(), RTSPServer::RTSPClientSession::envir(), RTSPServer::RTSPClientConnection::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::handleAlternativeRequestByte1(), RTSPClient::handleGET_PARAMETERResponse(), RTSPServerSupportingHTTPStreaming::RTSPClientConnectionSupportingHTTPStreaming::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(), networkReadHandler1(), 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(), ProxyServerMediaSession::~ProxyServerMediaSession(), ProxyServerMediaSubsession::~ProxyServerMediaSubsession(), 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::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(), doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), doStopGettingFrames(), FramedSource::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), RTCPInstance::reschedule(), RTCPInstance::schedule(), MultiFramedRTPSink::sendPacketIfNecessary(), and MediaSink::stopPlaying().
00078 { 00079 return fNextTask; 00080 }
friend class MediaLookupTable [friend, inherited] |
Definition at line 51 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame1(), VP8VideoRTPSource::processSpecialHeader(), VorbisAudioRTPSource::processSpecialHeader(), QuickTimeGenericRTPSource::processSpecialHeader(), MPEG4LATMAudioRTPSource::processSpecialHeader(), MPEG4GenericRTPSource::processSpecialHeader(), MPEG4ESVideoRTPSource::processSpecialHeader(), MPEG1or2VideoRTPSource::processSpecialHeader(), JPEGVideoRTPSource::processSpecialHeader(), H264VideoRTPSource::processSpecialHeader(), H263plusVideoRTPSource::processSpecialHeader(), H261VideoRTPSource::processSpecialHeader(), DVVideoRTPSource::processSpecialHeader(), AC3AudioRTPSource::processSpecialHeader(), and reset().
Definition at line 52 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame1(), VP8VideoRTPSource::processSpecialHeader(), VorbisAudioRTPSource::processSpecialHeader(), SimpleRTPSource::processSpecialHeader(), QuickTimeGenericRTPSource::processSpecialHeader(), MPEG4LATMAudioRTPSource::processSpecialHeader(), MPEG4GenericRTPSource::processSpecialHeader(), MPEG4ESVideoRTPSource::processSpecialHeader(), MPEG1or2VideoRTPSource::processSpecialHeader(), JPEGVideoRTPSource::processSpecialHeader(), H264VideoRTPSource::processSpecialHeader(), H263plusVideoRTPSource::processSpecialHeader(), H261VideoRTPSource::processSpecialHeader(), DVVideoRTPSource::processSpecialHeader(), AC3AudioRTPSource::processSpecialHeader(), and reset().
Definition at line 71 of file MultiFramedRTPSource.hh.
Referenced by networkReadHandler1(), and reset().
Boolean MultiFramedRTPSource::fNeedDelivery [private] |
Definition at line 72 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame(), doGetNextFrame1(), and reset().
Definition at line 73 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame1(), and reset().
unsigned char* MultiFramedRTPSource::fSavedTo [private] |
Definition at line 74 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame(), and doGetNextFrame1().
unsigned MultiFramedRTPSource::fSavedMaxSize [private] |
Definition at line 75 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame(), and doGetNextFrame1().
class ReorderingPacketBuffer* MultiFramedRTPSource::fReorderingBuffer [private] |
Definition at line 78 of file MultiFramedRTPSource.hh.
Referenced by doGetNextFrame1(), doStopGettingFrames(), networkReadHandler1(), setPacketReorderingThresholdTime(), and ~MultiFramedRTPSource().
RTPInterface RTPSource::fRTPInterface [protected, inherited] |
Definition at line 92 of file RTPSource.hh.
Referenced by doGetNextFrame(), doStopGettingFrames(), networkReadHandler1(), RTPSource::RTPgs(), RTPSource::setAuxilliaryReadHandler(), RTPSource::setServerRequestAlternativeByteHandler(), RTPSource::setStreamSocket(), and ~MultiFramedRTPSource().
u_int16_t RTPSource::fCurPacketRTPSeqNum [protected, inherited] |
Definition at line 93 of file RTPSource.hh.
Referenced by RTPSource::curPacketRTPSeqNum(), and doGetNextFrame1().
u_int32_t RTPSource::fCurPacketRTPTimestamp [protected, inherited] |
Definition at line 94 of file RTPSource.hh.
Referenced by RTPSource::curPacketRTPTimestamp(), and doGetNextFrame1().
Boolean RTPSource::fCurPacketMarkerBit [protected, inherited] |
Definition at line 95 of file RTPSource.hh.
Referenced by RTPSource::curPacketMarkerBit(), and doGetNextFrame1().
Boolean RTPSource::fCurPacketHasBeenSynchronizedUsingRTCP [protected, inherited] |
Definition at line 96 of file RTPSource.hh.
Referenced by doGetNextFrame1(), and RTPSource::hasBeenSynchronizedUsingRTCP().
u_int32_t RTPSource::fLastReceivedSSRC [protected, inherited] |
Definition at line 97 of file RTPSource.hh.
Referenced by RTPSource::lastReceivedSSRC(), and networkReadHandler1().
unsigned char* FramedSource::fTo [protected, inherited] |
Definition at line 74 of file FramedSource.hh.
Referenced by DVVideoStreamFramer::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG4VideoStreamDiscreteFramer::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2VideoStreamDiscreteFramer::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient(), StreamReplica::copyReceivedFrame(), StreamReplicator::deactivateStreamReplica(), MPEG2TransportStreamMultiplexor::deliverDataToClient(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), StreamReplicator::deliverReceivedFrame(), EndianSwap24::doGetNextFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), PresentationTimeSubsessionNormalizer::doGetNextFrame(), doGetNextFrame(), MPEGVideoStreamFramer::doGetNextFrame(), MPEG4VideoStreamDiscreteFramer::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), MPEG1or2VideoStreamDiscreteFramer::doGetNextFrame(), MPEG1or2DemuxedElementaryStream::doGetNextFrame(), MPEG1or2AudioStreamFramer::doGetNextFrame(), H264VideoStreamDiscreteFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), H263plusVideoStreamFramer::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), AC3AudioStreamFramer::doGetNextFrame(), doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), DVVideoStreamFramer::DVVideoStreamFramer(), MP3FromADUSource::generateFrameFromHeadADU(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), FramedSource::getNextFrame(), BasicUDPSource::incomingPacketHandler1(), MP3ADUdeinterleaver::releaseOutgoingFrame(), MP3ADUinterleaver::releaseOutgoingFrame(), and MatroskaDemuxedTrack::to().
unsigned FramedSource::fMaxSize [protected, inherited] |
Definition at line 75 of file FramedSource.hh.
Referenced by MPEG1or2VideoStreamDiscreteFramer::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), StreamReplica::copyReceivedFrame(), StreamReplicator::deactivateStreamReplica(), MPEG2TransportStreamMultiplexor::deliverDataToClient(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), StreamReplicator::deliverReceivedFrame(), EndianSwap24::doGetNextFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), PresentationTimeSubsessionNormalizer::doGetNextFrame(), doGetNextFrame(), MPEGVideoStreamFramer::doGetNextFrame(), MPEG4VideoStreamDiscreteFramer::doGetNextFrame(), MPEG2TransportStreamTrickModeFilter::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), MPEG1or2VideoStreamDiscreteFramer::doGetNextFrame(), MPEG1or2DemuxedElementaryStream::doGetNextFrame(), MPEG1or2AudioStreamFramer::doGetNextFrame(), H264VideoStreamDiscreteFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), H263plusVideoStreamFramer::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), AC3AudioStreamFramer::doGetNextFrame(), doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), FramedSource::getNextFrame(), BasicUDPSource::incomingPacketHandler1(), MatroskaDemuxedTrack::maxSize(), MP3ADUdeinterleaver::releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().
unsigned FramedSource::fFrameSize [protected, inherited] |
Definition at line 76 of file FramedSource.hh.
Referenced by FramedSource::afterGetting(), StreamReplicator::afterGettingFrame(), PresentationTimeSubsessionNormalizer::afterGettingFrame(), ByteStreamMultiFileSource::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2DemuxedElementaryStream::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient(), MPEGVideoStreamFramer::continueReadProcessing(), MPEG1or2AudioStreamFramer::continueReadProcessing(), H263plusVideoStreamFramer::continueReadProcessing(), StreamReplica::copyReceivedFrame(), MPEG2TransportStreamMultiplexor::deliverDataToClient(), T140IdleFilter::deliverEmptyFrame(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), WAVAudioFileSource::doGetNextFrame(), QCELPDeinterleaver::doGetNextFrame(), doGetNextFrame(), MPEG2TransportStreamTrickModeFilter::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MatroskaDemuxedTrack::frameSize(), MP3FromADUSource::generateFrameFromHeadADU(), DVVideoStreamFramer::getAndDeliverData(), BasicUDPSource::incomingPacketHandler1(), AC3AudioStreamFramer::parseNextFrame(), MP3ADUdeinterleaver::releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().
unsigned FramedSource::fNumTruncatedBytes [protected, inherited] |
Definition at line 77 of file FramedSource.hh.
Referenced by FramedSource::afterGetting(), StreamReplicator::afterGettingFrame(), PresentationTimeSubsessionNormalizer::afterGettingFrame(), ByteStreamMultiFileSource::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG1or2DemuxedElementaryStream::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), MPEGVideoStreamFramer::continueReadProcessing(), MPEG1or2AudioStreamFramer::continueReadProcessing(), StreamReplica::copyReceivedFrame(), MPEG2TransportStreamMultiplexor::deliverDataToClient(), T140IdleFilter::deliverEmptyFrame(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), QCELPDeinterleaver::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), doGetNextFrame1(), FramedSource::getNextFrame(), MatroskaDemuxedTrack::numTruncatedBytes(), AC3AudioStreamFramer::parseNextFrame(), MP3ADUdeinterleaver::releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().
struct timeval FramedSource::fPresentationTime [read, protected, inherited] |
Definition at line 78 of file FramedSource.hh.
Referenced by FramedSource::afterGetting(), StreamReplicator::afterGettingFrame(), PresentationTimeSubsessionNormalizer::afterGettingFrame(), ByteStreamMultiFileSource::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2DemuxedElementaryStream::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), H264FUAFragmenter::afterGettingFrame1(), MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient(), MPEGVideoStreamFramer::computePresentationTime(), MPEGVideoStreamFramer::continueReadProcessing(), MPEG1or2AudioStreamFramer::continueReadProcessing(), H263plusVideoStreamFramer::continueReadProcessing(), StreamReplica::copyReceivedFrame(), T140IdleFilter::deliverEmptyFrame(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), QCELPDeinterleaver::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), FramedSource::FramedSource(), MP3FromADUSource::generateFrameFromHeadADU(), MPEG1or2VideoStreamFramer::getCurrentPTS(), H264VideoStreamParser::parse(), AC3AudioStreamFramer::parseNextFrame(), MatroskaDemuxedTrack::presentationTime(), MP3ADUdeinterleaver::releaseOutgoingFrame(), MP3ADUinterleaver::releaseOutgoingFrame(), and H264VideoStreamFramer::setPresentationTime().
unsigned FramedSource::fDurationInMicroseconds [protected, inherited] |
Definition at line 79 of file FramedSource.hh.
Referenced by FramedSource::afterGetting(), StreamReplicator::afterGettingFrame(), PresentationTimeSubsessionNormalizer::afterGettingFrame(), ByteStreamMultiFileSource::afterGettingFrame(), EndianSwap24::afterGettingFrame1(), EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2DemuxedElementaryStream::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), H264FUAFragmenter::afterGettingFrame1(), MPEGVideoStreamFramer::continueReadProcessing(), MPEG1or2AudioStreamFramer::continueReadProcessing(), H263plusVideoStreamFramer::continueReadProcessing(), StreamReplica::copyReceivedFrame(), T140IdleFilter::deliverFromBuffer(), QCELPDeinterleaver::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MatroskaDemuxedTrack::durationInMicroseconds(), MP3FromADUSource::generateFrameFromHeadADU(), FramedSource::getNextFrame(), AC3AudioStreamFramer::parseNextFrame(), MP3ADUdeinterleaver::releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().
1.5.2