MP3ADUdeinterleaver Class Reference

#include <MP3ADUinterleaving.hh>

Inheritance diagram for MP3ADUdeinterleaver:

Inheritance graph
[legend]
Collaboration diagram for MP3ADUdeinterleaver:

Collaboration graph
[legend]

Public Types

typedef void( afterGettingFunc )(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
typedef void( onCloseFunc )(void *clientData)

Public Member Functions

FramedSourceinputSource () const
void reassignInputSource (FramedSource *newInputSource)
void detachInputSource ()
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 Boolean isRTPSource () 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
UsageEnvironmentenvir () 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 MP3ADUdeinterleavercreateNew (UsageEnvironment &env, FramedSource *inputSource)
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

 MP3ADUdeinterleaver (UsageEnvironment &env, FramedSource *inputSource)
virtual ~MP3ADUdeinterleaver ()
virtual char const * MIMEtype () const
virtual void getAttributes () const
virtual void doStopGettingFrames ()
TaskTokennextTask ()

Static Protected Member Functions

static FramedSourcegetInputSource (UsageEnvironment &env, char const *inputSourceName)
static void afterGettingFrame (void *clientData, unsigned numBytesRead, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)

Protected Attributes

FramedSourcefInputSource
unsigned char * fTo
unsigned fMaxSize
unsigned fFrameSize
unsigned fNumTruncatedBytes
timeval fPresentationTime
unsigned fDurationInMicroseconds

Private Member Functions

virtual void doGetNextFrame ()
virtual void afterGettingFrame (unsigned numBytesRead, struct timeval presentationTime, unsigned durationInMicroseconds)
void releaseOutgoingFrame ()

Private Attributes

DeinterleavingFramesfFrames
unsigned fIIlastSeen
unsigned fICClastSeen

Friends

class MediaLookupTable

Detailed Description

Definition at line 102 of file MP3ADUinterleaving.hh.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

MP3ADUdeinterleaver::MP3ADUdeinterleaver ( UsageEnvironment env,
FramedSource inputSource 
) [protected]

Definition at line 217 of file MP3ADUinterleaving.cpp.

Referenced by createNew().

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

Definition at line 224 of file MP3ADUinterleaving.cpp.

References fFrames.

00224                                           {
00225   delete fFrames;
00226 }


Member Function Documentation

MP3ADUdeinterleaver * MP3ADUdeinterleaver::createNew ( UsageEnvironment env,
FramedSource inputSource 
) [static]

Definition at line 228 of file MP3ADUinterleaving.cpp.

References env, FramedFilter::inputSource(), and MP3ADUdeinterleaver().

Referenced by MediaSubsession::createSourceObjects(), and main().

00229                                                                                {
00230   return new MP3ADUdeinterleaver(env, inputSource);
00231 }

void MP3ADUdeinterleaver::doGetNextFrame (  )  [private, virtual]

Implements FramedSource.

Definition at line 233 of file MP3ADUinterleaving.cpp.

References FramedSource::afterGetting(), MP3ADUinterleaverBase::afterGettingFrame(), fFrames, FramedFilter::fInputSource, DeinterleavingFrames::getIncomingFrameParams(), FramedSource::getNextFrame(), FramedSource::handleClosure(), DeinterleavingFrames::haveReleaseableFrame(), our_random(), and releaseOutgoingFrame().

00233                                          {
00234   // If there's a frame immediately available, deliver it, otherwise get new
00235   // frames from the source until one's available:
00236   if (fFrames->haveReleaseableFrame()) {
00237     releaseOutgoingFrame();
00238 
00239     // Call our own 'after getting' function.  Because we're not a 'leaf'
00240     // source, we can call this directly, without risking infinite recursion.
00241     afterGetting(this);
00242   } else {
00243 #ifdef TEST_LOSS
00244   NOTE: This code no longer works, because it uses synchronous reads,
00245   which are no longer supported.
00246     static unsigned const framesPerPacket = 3;
00247     static unsigned const frameCount = 0;
00248     static Boolean packetIsLost;
00249     while (1) {
00250       unsigned packetCount = frameCount/framesPerPacket;
00251       if ((frameCount++)%framesPerPacket == 0) {
00252         packetIsLost = (our_random()%10 == 0); // simulate 10% packet loss #####
00253       }
00254 
00255       if (packetIsLost) {
00256         // Read and discard the next input frame (that would be part of
00257         // a lost packet):
00258         unsigned char dummyBuf[2000];
00259         unsigned numBytesRead;
00260         struct timeval presentationTime;
00261         // (this works only if the source can be read synchronously)
00262         fInputSource->syncGetNextFrame(dummyBuf, sizeof dummyBuf,
00263                                        numBytesRead, presentationTime);
00264       } else {
00265         break; // from while (1)
00266       }
00267     }
00268 #endif
00269     unsigned char* dataPtr;
00270     unsigned bytesAvailable;
00271     fFrames->getIncomingFrameParams(dataPtr, bytesAvailable);
00272 
00273     // Read the next incoming frame (asynchronously)
00274     fInputSource->getNextFrame(dataPtr, bytesAvailable,
00275                                &MP3ADUinterleaverBase::afterGettingFrame, this,
00276                                handleClosure, this);
00277   }
00278 }

void MP3ADUdeinterleaver::afterGettingFrame ( unsigned  numBytesRead,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
) [private, virtual]

Implements MP3ADUinterleaverBase.

Definition at line 280 of file MP3ADUinterleaving.cpp.

References fFrames, fICClastSeen, fIIlastSeen, DeinterleavingFrames::getIncomingFrameParamsAfter(), DeinterleavingFrames::moveIncomingFrameIntoPlace(), and DeinterleavingFrames::startNewCycle().

00282                                                                              {
00283   // Get the (icc,ii) and set the frame size of the newly-read frame:
00284   unsigned char icc, ii;
00285   fFrames->getIncomingFrameParamsAfter(numBytesRead,
00286                                        presentationTime, durationInMicroseconds,
00287                                        icc, ii);
00288 
00289   // Compare these to the values we saw last:
00290   if (icc != fICClastSeen || ii == fIIlastSeen) {
00291     // We've started a new interleave cycle
00292     // (or interleaving was not used).  Release all
00293     // pending ADU frames to the ADU->MP3 conversion step:
00294     fFrames->startNewCycle();
00295   } else {
00296     // We're still in the same cycle as before.
00297     // Move the newly-read frame into place, so it can be used:
00298     fFrames->moveIncomingFrameIntoPlace();
00299   }
00300 
00301   fICClastSeen = icc;
00302   fIIlastSeen = ii;
00303 }

void MP3ADUdeinterleaver::releaseOutgoingFrame (  )  [private]

Definition at line 305 of file MP3ADUinterleaving.cpp.

References FramedSource::fDurationInMicroseconds, fFrames, FramedSource::fFrameSize, FramedSource::fMaxSize, FramedSource::fNumTruncatedBytes, FramedSource::fPresentationTime, FramedSource::fTo, DeinterleavingFrames::getReleasingFrameParams(), and DeinterleavingFrames::releaseNext().

Referenced by doGetNextFrame().

00305                                                {
00306   unsigned char* fromPtr;
00307   fFrames->getReleasingFrameParams(fromPtr, fFrameSize,
00308                                    fPresentationTime, fDurationInMicroseconds);
00309 
00310   if (fFrameSize > fMaxSize) {
00311     fNumTruncatedBytes = fFrameSize - fMaxSize;
00312     fFrameSize = fMaxSize;
00313   }
00314   memmove(fTo, fromPtr, fFrameSize);
00315 
00316   fFrames->releaseNext();
00317 }

FramedSource * MP3ADUinterleaverBase::getInputSource ( UsageEnvironment env,
char const *  inputSourceName 
) [static, protected, inherited]

Definition at line 52 of file MP3ADUinterleaving.cpp.

References env, FramedFilter::inputSource(), FramedSource::lookupByName(), MediaSource::MIMEtype(), and NULL.

00053                                                                                  {
00054   FramedSource* inputSource;
00055   if (!FramedSource::lookupByName(env, inputSourceName, inputSource))
00056     return NULL;
00057 
00058   if (strcmp(inputSource->MIMEtype(), "audio/MPA-ROBUST") != 0) {
00059     env.setResultMsg(inputSourceName, " is not an MP3 ADU source");
00060     return NULL;
00061   }
00062 
00063   return inputSource;
00064 }

void MP3ADUinterleaverBase::afterGettingFrame ( void *  clientData,
unsigned  numBytesRead,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
) [static, protected, inherited]

Definition at line 66 of file MP3ADUinterleaving.cpp.

References MP3ADUinterleaverBase::afterGettingFrame(), and FramedSource::doGetNextFrame().

Referenced by MP3ADUinterleaverBase::afterGettingFrame(), doGetNextFrame(), and MP3ADUinterleaver::doGetNextFrame().

00070                                                                                {
00071   MP3ADUinterleaverBase* interleaverBase = (MP3ADUinterleaverBase*)clientData;
00072   // Finish up after reading:
00073   interleaverBase->afterGettingFrame(numBytesRead,
00074                                      presentationTime, durationInMicroseconds);
00075 
00076   // Then, continue to deliver an outgoing frame:
00077   interleaverBase->doGetNextFrame();
00078 }

FramedSource* FramedFilter::inputSource (  )  const [inline, inherited]

Definition at line 30 of file FramedFilter.hh.

References FramedFilter::fInputSource.

Referenced by AC3AudioStreamFramer::AC3AudioStreamFramer(), MediaSubsession::addFilter(), H264VideoRTPSink::auxSDPLine(), EndianSwap24::createNew(), EndianSwap16::createNew(), HostFromNetworkOrder16::createNew(), NetworkFromHostOrder16::createNew(), PCMFromuLawAudioSource::createNew(), QCELPDeinterleaver::createNew(), MPEG4VideoStreamFramer::createNew(), MPEG4VideoStreamDiscreteFramer::createNew(), MPEG2IFrameIndexFromTransportStream::createNew(), MPEG1or2VideoStreamFramer::createNew(), MPEG1or2VideoStreamDiscreteFramer::createNew(), MPEG1or2AudioStreamFramer::createNew(), MP3Transcoder::createNew(), MP3ADUTranscoder::createNew(), createNew(), MP3ADUinterleaver::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), H264VideoStreamDiscreteFramer::createNew(), H263plusVideoStreamFramer::createNew(), DVVideoStreamFramer::createNew(), AC3AudioStreamFramer::createNew(), H264VideoRTPSink::doSpecialFrameHandling(), H264VideoFileServerMediaSubsession::getAuxSDPLine(), MP3AudioFileServerMediaSubsession::getBaseStreams(), MP3ADUinterleaverBase::getInputSource(), H263plusVideoStreamFramer::H263plusVideoStreamFramer(), MPEG1or2VideoStreamFramer::MPEG1or2VideoStreamFramer(), MPEG4VideoStreamFramer::MPEG4VideoStreamFramer(), H264VideoMatroskaFileServerMediaSubsession::seekStreamSource(), DVVideoFileServerMediaSubsession::seekStreamSource(), and ClientTrickPlayState::setSource().

00030 { return fInputSource; }

void FramedFilter::reassignInputSource ( FramedSource newInputSource  )  [inline, inherited]

Definition at line 32 of file FramedFilter.hh.

References FramedFilter::fInputSource.

Referenced by T140TextRTPSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), and FramedFilter::detachInputSource().

00032 { fInputSource = newInputSource; }

void FramedFilter::detachInputSource (  )  [inline, inherited]

Definition at line 35 of file FramedFilter.hh.

References NULL, and FramedFilter::reassignInputSource().

Referenced by H264FUAFragmenter::~H264FUAFragmenter(), and T140IdleFilter::~T140IdleFilter().

char const * FramedFilter::MIMEtype (  )  const [protected, virtual, inherited]

Reimplemented from MediaSource.

Reimplemented in ADUFromMP3Source, and MP3FromADUSource.

Definition at line 39 of file FramedFilter.cpp.

References FramedFilter::fInputSource, MediaSource::MIMEtype(), and NULL.

00039                                          {
00040   if (fInputSource == NULL) return "";
00041 
00042   return fInputSource->MIMEtype();
00043 }

void FramedFilter::getAttributes (  )  const [protected, virtual, inherited]

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

Definition at line 45 of file FramedFilter.cpp.

References FramedFilter::fInputSource, MediaSource::getAttributes(), and NULL.

00045                                        {
00046   if (fInputSource != NULL) fInputSource->getAttributes();
00047 }

void FramedFilter::doStopGettingFrames (  )  [protected, virtual, inherited]

Reimplemented from FramedSource.

Reimplemented in MPEG2TransportStreamFramer, MPEG2TransportStreamTrickModeFilter, T140IdleFilter, and QCELPDeinterleaver.

Definition at line 49 of file FramedFilter.cpp.

References FramedSource::doStopGettingFrames(), FramedFilter::fInputSource, NULL, and FramedSource::stopGettingFrames().

Referenced by T140IdleFilter::doStopGettingFrames(), MPEG2TransportStreamTrickModeFilter::doStopGettingFrames(), and MPEG2TransportStreamFramer::doStopGettingFrames().

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 }

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(), 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(), 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().

00116                                           {
00117   // By default, this source has no maximum frame size.
00118   return 0;
00119 }

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(), doGetNextFrame(), MP3ADUinterleaver::doGetNextFrame(), MP3FromADUSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::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 }

Boolean MediaSource::isRTPSource (  )  const [virtual, inherited]

Reimplemented in RTPSource.

Definition at line 43 of file MediaSource.cpp.

References False.

Referenced by RTPSource::lookupByName().

00043                                        {
00044   return False; // default implementation
00045 }

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(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), SIPClient::doInviteStateMachine(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), WAVAudioFileSource::doStopGettingFrames(), T140IdleFilter::doStopGettingFrames(), MultiFramedRTPSource::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(), MultiFramedRTPSource::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]

Reimplemented in MediaSink.

Definition at line 66 of file Media.cpp.

References False.

Referenced by MediaSink::lookupByName().

00066                              {
00067   return False; // default implementation
00068 }

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(), MultiFramedRTPSource::doStopGettingFrames(), FramedSource::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), RTCPInstance::reschedule(), RTCPInstance::schedule(), MultiFramedRTPSink::sendPacketIfNecessary(), and MediaSink::stopPlaying().

00078                         {
00079         return fNextTask;
00080   }


Friends And Related Function Documentation

friend class MediaLookupTable [friend, inherited]

Definition at line 74 of file Media.hh.


Field Documentation

class DeinterleavingFrames* MP3ADUdeinterleaver::fFrames [private]

Definition at line 124 of file MP3ADUinterleaving.hh.

Referenced by afterGettingFrame(), doGetNextFrame(), releaseOutgoingFrame(), and ~MP3ADUdeinterleaver().

unsigned MP3ADUdeinterleaver::fIIlastSeen [private]

Definition at line 125 of file MP3ADUinterleaving.hh.

Referenced by afterGettingFrame().

unsigned MP3ADUdeinterleaver::fICClastSeen [private]

Definition at line 125 of file MP3ADUinterleaving.hh.

Referenced by afterGettingFrame().

FramedSource* FramedFilter::fInputSource [protected, inherited]

Definition at line 49 of file FramedFilter.hh.

Referenced by QCELPDeinterleaver::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2TransportStreamFramer::changeInputSource(), 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(), doGetNextFrame(), MP3ADUinterleaver::doGetNextFrame(), MP3FromADUSource::doGetNextFrame(), ADUFromMP3Source::doGetNextFrame(), H264VideoStreamDiscreteFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), QCELPDeinterleaver::doStopGettingFrames(), FramedFilter::doStopGettingFrames(), MPEG2TransportStreamTrickModeFilter::forgetInputSource(), DVVideoStreamFramer::getAndDeliverData(), MP3ADUTranscoder::getAttributes(), FramedFilter::getAttributes(), DVVideoStreamFramer::getProfile(), FramedFilter::inputSource(), FramedFilter::MIMEtype(), MPEG2TransportStreamTrickModeFilter::readTransportPacket(), FramedFilter::reassignInputSource(), MPEG2TransportStreamTrickModeFilter::seekToTransportPacket(), and FramedFilter::~FramedFilter().

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(), MultiFramedRTPSource::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(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), DVVideoStreamFramer::DVVideoStreamFramer(), MP3FromADUSource::generateFrameFromHeadADU(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), FramedSource::getNextFrame(), BasicUDPSource::incomingPacketHandler1(), 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(), MultiFramedRTPSource::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(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), DVVideoStreamFramer::getAndDeliverData(), StreamReplicator::getNextFrame(), FramedSource::getNextFrame(), BasicUDPSource::incomingPacketHandler1(), MatroskaDemuxedTrack::maxSize(), 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(), MultiFramedRTPSource::doGetNextFrame(), MPEG2TransportStreamTrickModeFilter::doGetNextFrame(), MPEG2TransportStreamFramer::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), DVVideoStreamFramer::doGetNextFrame(), ByteStreamMemoryBufferSource::doGetNextFrame(), AMRDeinterleaver::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MatroskaDemuxedTrack::frameSize(), MP3FromADUSource::generateFrameFromHeadADU(), DVVideoStreamFramer::getAndDeliverData(), BasicUDPSource::incomingPacketHandler1(), AC3AudioStreamFramer::parseNextFrame(), 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(), MultiFramedRTPSource::doGetNextFrame1(), FramedSource::getNextFrame(), MatroskaDemuxedTrack::numTruncatedBytes(), AC3AudioStreamFramer::parseNextFrame(), 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(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), FramedSource::FramedSource(), MP3FromADUSource::generateFrameFromHeadADU(), MPEG1or2VideoStreamFramer::getCurrentPTS(), H264VideoStreamParser::parse(), AC3AudioStreamFramer::parseNextFrame(), MatroskaDemuxedTrack::presentationTime(), 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(), releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().


The documentation for this class was generated from the following files:
Generated on Mon Apr 29 13:31:47 2013 for live by  doxygen 1.5.2