WAVAudioFileSource Class Reference

#include <WAVAudioFileSource.hh>

Inheritance diagram for WAVAudioFileSource:

Inheritance graph
[legend]
Collaboration diagram for WAVAudioFileSource:

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

unsigned numPCMBytes () const
void setScaleFactor (int scale)
void seekToPCMByte (unsigned byteNumber, unsigned numBytesToStream)
unsigned char getAudioFormat ()
unsigned char bitsPerSample () const
unsigned char numChannels () const
unsigned samplingFrequency () 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 void getAttributes () const
virtual char const * MIMEtype () 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 WAVAudioFileSourcecreateNew (UsageEnvironment &env, char const *fileName)
static AudioInputDevicecreateNew (UsageEnvironment &env, int inputPortNumber, unsigned char bitsPerSample, unsigned char numChannels, unsigned samplingFrequency, unsigned granularityInMS=20)
static AudioPortNamesgetPortNames ()
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)

Static Public Attributes

static char ** allowedDeviceNames = NULL

Protected Member Functions

 WAVAudioFileSource (UsageEnvironment &env, FILE *fid)
virtual ~WAVAudioFileSource ()
void doReadFromFile ()
TaskTokennextTask ()

Static Protected Member Functions

static void fileReadableHandler (WAVAudioFileSource *source, int mask)

Protected Attributes

unsigned char fBitsPerSample
unsigned char fNumChannels
unsigned fSamplingFrequency
unsigned fGranularityInMS
unsigned char * fTo
unsigned fMaxSize
unsigned fFrameSize
unsigned fNumTruncatedBytes
timeval fPresentationTime
unsigned fDurationInMicroseconds

Private Member Functions

virtual void doGetNextFrame ()
virtual void doStopGettingFrames ()
virtual Boolean setInputPort (int portIndex)
virtual double getAverageLevel () const

Private Attributes

FILE * fFid
double fPlayTimePerSample
unsigned fPreferredFrameSize
Boolean fFidIsSeekable
unsigned fLastPlayTime
Boolean fHaveStartedReading
unsigned fWAVHeaderSize
unsigned fFileSize
int fScaleFactor
Boolean fLimitNumBytesToStream
unsigned fNumBytesToStream
unsigned char fAudioFormat

Friends

class MediaLookupTable

Detailed Description

Definition at line 39 of file WAVAudioFileSource.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

WAVAudioFileSource::WAVAudioFileSource ( UsageEnvironment env,
FILE *  fid 
) [protected]

Definition at line 107 of file WAVAudioFileSource.cpp.

References AudioInputDevice::bitsPerSample(), env, False, fAudioFormat, AudioInputDevice::fBitsPerSample, fFid, fFidIsSeekable, FileIsSeekable(), AudioInputDevice::fNumChannels, fPlayTimePerSample, fPreferredFrameSize, AudioInputDevice::fSamplingFrequency, fWAVHeaderSize, get2Bytes(), get4Bytes(), makeSocketNonBlocking(), nextc, AudioInputDevice::numChannels(), UsageEnvironment::setResultMsg(), skipBytes(), TellFile64(), True, WA_IMA_ADPCM, WA_PCM, WA_PCMA, and WA_PCMU.

Referenced by createNew().

00108   : AudioInputDevice(env, 0, 0, 0, 0)/* set the real parameters later */,
00109     fFid(fid), fFidIsSeekable(False), fLastPlayTime(0), fHaveStartedReading(False), fWAVHeaderSize(0), fFileSize(0),
00110     fScaleFactor(1), fLimitNumBytesToStream(False), fNumBytesToStream(0), fAudioFormat(WA_UNKNOWN) {
00111   // Check the WAV file header for validity.
00112   // Note: The following web pages contain info about the WAV format:
00113   // http://www.ringthis.com/dev/wave_format.htm
00114   // http://www.lightlink.com/tjweber/StripWav/Canon.html
00115   // http://www.wotsit.org/list.asp?al=W
00116 
00117   Boolean success = False; // until we learn otherwise
00118   do {
00119     // RIFF Chunk:
00120     if (nextc != 'R' || nextc != 'I' || nextc != 'F' || nextc != 'F') break;
00121     if (!skipBytes(fid, 4)) break;
00122     if (nextc != 'W' || nextc != 'A' || nextc != 'V' || nextc != 'E') break;
00123 
00124     // FORMAT Chunk:
00125     if (nextc != 'f' || nextc != 'm' || nextc != 't' || nextc != ' ') break;
00126     unsigned formatLength;
00127     if (!get4Bytes(fid, formatLength)) break;
00128     unsigned short audioFormat;
00129     if (!get2Bytes(fid, audioFormat)) break;
00130 
00131     fAudioFormat = (unsigned char)audioFormat;
00132     if (fAudioFormat != WA_PCM && fAudioFormat != WA_PCMA && fAudioFormat != WA_PCMU && fAudioFormat != WA_IMA_ADPCM) {
00133       // It's a format that we don't (yet) understand
00134       env.setResultMsg("Audio format is not one that we handle (PCM/PCMU/PCMA or IMA ADPCM)");
00135       break;
00136     }
00137     unsigned short numChannels;
00138     if (!get2Bytes(fid, numChannels)) break;
00139     fNumChannels = (unsigned char)numChannels;
00140     if (fNumChannels < 1 || fNumChannels > 2) { // invalid # channels
00141       char errMsg[100];
00142       sprintf(errMsg, "Bad # channels: %d", fNumChannels);
00143       env.setResultMsg(errMsg);
00144       break;
00145     }
00146     if (!get4Bytes(fid, fSamplingFrequency)) break;
00147     if (fSamplingFrequency == 0) {
00148       env.setResultMsg("Bad sampling frequency: 0");
00149       break;
00150     }
00151     if (!skipBytes(fid, 6)) break; // "nAvgBytesPerSec" (4 bytes) + "nBlockAlign" (2 bytes)
00152     unsigned short bitsPerSample;
00153     if (!get2Bytes(fid, bitsPerSample)) break;
00154     fBitsPerSample = (unsigned char)bitsPerSample;
00155     if (fBitsPerSample == 0) {
00156       env.setResultMsg("Bad bits-per-sample: 0");
00157       break;
00158     }
00159     if (!skipBytes(fid, formatLength - 16)) break;
00160 
00161     // FACT chunk (optional):
00162     int c = nextc;
00163     if (c == 'f') {
00164       if (nextc != 'a' || nextc != 'c' || nextc != 't') break;
00165       unsigned factLength;
00166       if (!get4Bytes(fid, factLength)) break;
00167       if (!skipBytes(fid, factLength)) break;
00168       c = nextc;
00169     }
00170 
00171     // DATA Chunk:
00172     if (c != 'd' || nextc != 'a' || nextc != 't' || nextc != 'a') break;
00173     if (!skipBytes(fid, 4)) break;
00174 
00175     // The header is good; the remaining data are the sample bytes.
00176     fWAVHeaderSize = (unsigned)TellFile64(fid);
00177     success = True;
00178   } while (0);
00179 
00180   if (!success) {
00181     env.setResultMsg("Bad WAV file format");
00182     // Set "fBitsPerSample" to zero, to indicate failure:
00183     fBitsPerSample = 0;
00184     return;
00185   }
00186 
00187   fPlayTimePerSample = 1e6/(double)fSamplingFrequency;
00188 
00189   // Although PCM is a sample-based format, we group samples into
00190   // 'frames' for efficient delivery to clients.  Set up our preferred
00191   // frame size to be close to 20 ms, if possible, but always no greater
00192   // than 1400 bytes (to ensure that it will fit in a single RTP packet)
00193   unsigned maxSamplesPerFrame = (1400*8)/(fNumChannels*fBitsPerSample);
00194   unsigned desiredSamplesPerFrame = (unsigned)(0.02*fSamplingFrequency);
00195   unsigned samplesPerFrame = desiredSamplesPerFrame < maxSamplesPerFrame ? desiredSamplesPerFrame : maxSamplesPerFrame;
00196   fPreferredFrameSize = (samplesPerFrame*fNumChannels*fBitsPerSample)/8;
00197 
00198   fFidIsSeekable = FileIsSeekable(fFid);
00199 #ifndef READ_FROM_FILES_SYNCHRONOUSLY
00200   // Now that we've finished reading the WAV header, all future reads (of audio samples) from the file will be asynchronous:
00201   makeSocketNonBlocking(fileno(fFid));
00202 #endif
00203 }

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

Definition at line 205 of file WAVAudioFileSource.cpp.

References CloseInputFile(), Medium::envir(), fFid, NULL, UsageEnvironment::taskScheduler(), and TaskScheduler::turnOffBackgroundReadHandling().

00205                                         {
00206   if (fFid == NULL) return;
00207 
00208 #ifndef READ_FROM_FILES_SYNCHRONOUSLY
00209   envir().taskScheduler().turnOffBackgroundReadHandling(fileno(fFid));
00210 #endif
00211 
00212   CloseInputFile(fFid);
00213 }


Member Function Documentation

WAVAudioFileSource * WAVAudioFileSource::createNew ( UsageEnvironment env,
char const *  fileName 
) [static]

Definition at line 28 of file WAVAudioFileSource.cpp.

References AudioInputDevice::bitsPerSample(), Medium::close(), env, fFileSize, GetFileSize(), NULL, OpenInputFile(), and WAVAudioFileSource().

Referenced by WAVAudioFileServerMediaSubsession::createNewStreamSource().

00028                                                                          {
00029   do {
00030     FILE* fid = OpenInputFile(env, fileName);
00031     if (fid == NULL) break;
00032 
00033     WAVAudioFileSource* newSource = new WAVAudioFileSource(env, fid);
00034     if (newSource != NULL && newSource->bitsPerSample() == 0) {
00035       // The WAV file header was apparently invalid.
00036       Medium::close(newSource);
00037       break;
00038     }
00039 
00040     newSource->fFileSize = (unsigned)GetFileSize(fileName, fid);
00041 
00042     return newSource;
00043   } while (0);
00044 
00045   return NULL;
00046 }

unsigned WAVAudioFileSource::numPCMBytes (  )  const

Definition at line 48 of file WAVAudioFileSource.cpp.

References fFileSize, and fWAVHeaderSize.

Referenced by WAVAudioFileServerMediaSubsession::createNewStreamSource().

00048                                                {
00049   if (fFileSize < fWAVHeaderSize) return 0;
00050   return fFileSize - fWAVHeaderSize;
00051 }

void WAVAudioFileSource::setScaleFactor ( int  scale  ) 

Definition at line 53 of file WAVAudioFileSource.cpp.

References AudioInputDevice::fBitsPerSample, fFid, fFidIsSeekable, AudioInputDevice::fNumChannels, fScaleFactor, SeekFile64(), and TellFile64().

Referenced by WAVAudioFileServerMediaSubsession::setStreamSourceScale().

00053                                                  {
00054   if (!fFidIsSeekable) return; // we can't do 'trick play' operations on non-seekable files
00055 
00056   fScaleFactor = scale;
00057 
00058   if (fScaleFactor < 0 && TellFile64(fFid) > 0) {
00059     // Because we're reading backwards, seek back one sample, to ensure that
00060     // (i)  we start reading the last sample before the start point, and
00061     // (ii) we don't hit end-of-file on the first read.
00062     int bytesPerSample = (fNumChannels*fBitsPerSample)/8;
00063     if (bytesPerSample == 0) bytesPerSample = 1;
00064     SeekFile64(fFid, -bytesPerSample, SEEK_CUR);
00065   }
00066 }

void WAVAudioFileSource::seekToPCMByte ( unsigned  byteNumber,
unsigned  numBytesToStream 
)

Definition at line 68 of file WAVAudioFileSource.cpp.

References fFid, fFileSize, fLimitNumBytesToStream, fNumBytesToStream, fWAVHeaderSize, and SeekFile64().

Referenced by WAVAudioFileServerMediaSubsession::seekStreamSource().

00068                                                                                      {
00069   byteNumber += fWAVHeaderSize;
00070   if (byteNumber > fFileSize) byteNumber = fFileSize;
00071 
00072   SeekFile64(fFid, byteNumber, SEEK_SET);
00073 
00074   fNumBytesToStream = numBytesToStream;
00075   fLimitNumBytesToStream = fNumBytesToStream > 0;
00076 }

unsigned char WAVAudioFileSource::getAudioFormat (  ) 

Definition at line 78 of file WAVAudioFileSource.cpp.

References fAudioFormat.

Referenced by WAVAudioFileServerMediaSubsession::createNewStreamSource().

00078                                                  {
00079   return fAudioFormat;
00080 }

void WAVAudioFileSource::fileReadableHandler ( WAVAudioFileSource source,
int  mask 
) [static, protected]

Definition at line 241 of file WAVAudioFileSource.cpp.

References doReadFromFile(), doStopGettingFrames(), and FramedSource::isCurrentlyAwaitingData().

Referenced by doGetNextFrame().

00241                                                                                      {
00242   if (!source->isCurrentlyAwaitingData()) {
00243     source->doStopGettingFrames(); // we're not ready for the data yet
00244     return;
00245   }
00246   source->doReadFromFile();
00247 }

void WAVAudioFileSource::doReadFromFile (  )  [protected]

Definition at line 256 of file WAVAudioFileSource.cpp.

References FramedSource::afterGetting(), Medium::envir(), AudioInputDevice::fBitsPerSample, FramedSource::fDurationInMicroseconds, fFid, fFidIsSeekable, FramedSource::fFrameSize, fLastPlayTime, fLimitNumBytesToStream, FramedSource::fMaxSize, fNumBytesToStream, AudioInputDevice::fNumChannels, fPlayTimePerSample, fPreferredFrameSize, FramedSource::fPresentationTime, fScaleFactor, FramedSource::fTo, FramedSource::handleClosure(), Medium::nextTask(), NULL, readFromFilesSynchronously, TaskScheduler::scheduleDelayedTask(), SeekFile64(), and UsageEnvironment::taskScheduler().

Referenced by doGetNextFrame(), and fileReadableHandler().

00256                                         {
00257   // Try to read as many bytes as will fit in the buffer provided (or "fPreferredFrameSize" if less)
00258   if (fLimitNumBytesToStream && fNumBytesToStream < fMaxSize) {
00259     fMaxSize = fNumBytesToStream;
00260   }
00261   if (fPreferredFrameSize < fMaxSize) {
00262     fMaxSize = fPreferredFrameSize;
00263   }
00264   unsigned bytesPerSample = (fNumChannels*fBitsPerSample)/8;
00265   if (bytesPerSample == 0) bytesPerSample = 1; // because we can't read less than a byte at a time
00266 
00267   // For 'trick play', read one sample at a time; otherwise (normal case) read samples in bulk:
00268   unsigned bytesToRead = fScaleFactor == 1 ? fMaxSize - fMaxSize%bytesPerSample : bytesPerSample;
00269   unsigned numBytesRead;
00270   while (1) { // loop for 'trick play' only
00271     if (readFromFilesSynchronously || fFidIsSeekable) {
00272       numBytesRead = fread(fTo, 1, bytesToRead, fFid);
00273    } else {
00274       // For non-seekable files (e.g., pipes), call "read()" rather than "fread()", to ensure that the read doesn't block:
00275       numBytesRead = read(fileno(fFid), fTo, bytesToRead);
00276     }
00277     if (numBytesRead == 0) {
00278      handleClosure(this);
00279       return;
00280     }
00281     fFrameSize += numBytesRead;
00282     fTo += numBytesRead;
00283     fMaxSize -= numBytesRead;
00284     fNumBytesToStream -= numBytesRead;
00285 
00286     // If we did an asynchronous read, and didn't read an integral number of samples, then we need to wait for another read:
00287     if (!readFromFilesSynchronously && fFrameSize%bytesPerSample > 0) return;
00288     
00289     // If we're doing 'trick play', then seek to the appropriate place for reading the next sample,
00290     // and keep reading until we fill the provided buffer:
00291     if (fScaleFactor != 1) {
00292       SeekFile64(fFid, (fScaleFactor-1)*bytesPerSample, SEEK_CUR);
00293       if (fMaxSize < bytesPerSample) break;
00294     } else {
00295       break; // from the loop (normal case)
00296     }
00297   }
00298 
00299   // Set the 'presentation time' and 'duration' of this frame:
00300   if (fPresentationTime.tv_sec == 0 && fPresentationTime.tv_usec == 0) {
00301     // This is the first frame, so use the current time:
00302     gettimeofday(&fPresentationTime, NULL);
00303   } else {
00304     // Increment by the play time of the previous data:
00305     unsigned uSeconds   = fPresentationTime.tv_usec + fLastPlayTime;
00306     fPresentationTime.tv_sec += uSeconds/1000000;
00307     fPresentationTime.tv_usec = uSeconds%1000000;
00308   }
00309 
00310   // Remember the play time of this data:
00311   fDurationInMicroseconds = fLastPlayTime
00312     = (unsigned)((fPlayTimePerSample*fFrameSize)/bytesPerSample);
00313 
00314   // Inform the reader that he has data:
00315 #ifdef READ_FROM_FILES_SYNCHRONOUSLY
00316   // To avoid possible infinite recursion, we need to return to the event loop to do this:
00317   nextTask() = envir().taskScheduler().scheduleDelayedTask(0,
00318                                 (TaskFunc*)FramedSource::afterGetting, this);
00319 #else
00320   // Because the file read was done from the event loop, we can call the
00321   // 'after getting' function directly, without risk of infinite recursion:
00322   FramedSource::afterGetting(this);
00323 #endif
00324 }

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

Implements FramedSource.

Definition at line 215 of file WAVAudioFileSource.cpp.

References doReadFromFile(), Medium::envir(), fFid, FramedSource::fFrameSize, fHaveStartedReading, fileReadableHandler(), fLimitNumBytesToStream, fNumBytesToStream, FramedSource::handleClosure(), UsageEnvironment::taskScheduler(), True, and TaskScheduler::turnOnBackgroundReadHandling().

00215                                         {
00216   if (feof(fFid) || ferror(fFid) || (fLimitNumBytesToStream && fNumBytesToStream == 0)) {
00217     handleClosure(this);
00218     return;
00219   }
00220 
00221   fFrameSize = 0; // until it's set later
00222 #ifdef READ_FROM_FILES_SYNCHRONOUSLY
00223   doReadFromFile();
00224 #else
00225   if (!fHaveStartedReading) {
00226     // Await readable data from the file:
00227     envir().taskScheduler().turnOnBackgroundReadHandling(fileno(fFid),
00228                                                          (TaskScheduler::BackgroundHandlerProc*)&fileReadableHandler, this);
00229     fHaveStartedReading = True;
00230   }
00231 #endif
00232 }

void WAVAudioFileSource::doStopGettingFrames (  )  [private, virtual]

Reimplemented from FramedSource.

Definition at line 234 of file WAVAudioFileSource.cpp.

References Medium::envir(), False, fFid, fHaveStartedReading, UsageEnvironment::taskScheduler(), and TaskScheduler::turnOffBackgroundReadHandling().

Referenced by fileReadableHandler().

00234                                              {
00235 #ifndef READ_FROM_FILES_SYNCHRONOUSLY
00236   envir().taskScheduler().turnOffBackgroundReadHandling(fileno(fFid));
00237   fHaveStartedReading = False;
00238 #endif
00239 }

Boolean WAVAudioFileSource::setInputPort ( int  portIndex  )  [private, virtual]

Implements AudioInputDevice.

Definition at line 326 of file WAVAudioFileSource.cpp.

References True.

00326                                                           {
00327   return True;
00328 }

double WAVAudioFileSource::getAverageLevel (  )  const [private, virtual]

Implements AudioInputDevice.

Definition at line 330 of file WAVAudioFileSource.cpp.

00330                                                  {
00331   return 0.0;//##### fix this later
00332 }

unsigned char AudioInputDevice::bitsPerSample (  )  const [inline, inherited]

Definition at line 38 of file AudioInputDevice.hh.

References AudioInputDevice::fBitsPerSample.

Referenced by createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), and WAVAudioFileSource().

00038 { return fBitsPerSample; }

unsigned char AudioInputDevice::numChannels (  )  const [inline, inherited]

Definition at line 39 of file AudioInputDevice.hh.

References AudioInputDevice::fNumChannels.

Referenced by WAVAudioFileServerMediaSubsession::createNewStreamSource(), and WAVAudioFileSource().

00039 { return fNumChannels; }

unsigned AudioInputDevice::samplingFrequency (  )  const [inline, inherited]

Definition at line 40 of file AudioInputDevice.hh.

References AudioInputDevice::fSamplingFrequency.

Referenced by WAVAudioFileServerMediaSubsession::createNewStreamSource().

00040 { return fSamplingFrequency; }

static AudioInputDevice* AudioInputDevice::createNew ( UsageEnvironment env,
int  inputPortNumber,
unsigned char  bitsPerSample,
unsigned char  numChannels,
unsigned  samplingFrequency,
unsigned  granularityInMS = 20 
) [static, inherited]

static AudioPortNames* AudioInputDevice::getPortNames (  )  [static, inherited]

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(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), T140IdleFilter::doGetNextFrame(), QCELPDeinterleaver::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(), doGetNextFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), QCELPDeinterleaver::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(), 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 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(), 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 ByteStreamMultiFileSource::afterGettingFrame(), 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(), MultiFramedRTPSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), 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 }

void MediaSource::getAttributes (  )  const [virtual, inherited]

Reimplemented in FramedFilter, MP3ADUTranscoder, MP3FileSource, and RTPSource.

Definition at line 82 of file MediaSource.cpp.

References Medium::envir(), and UsageEnvironment::setResultMsg().

Referenced by MP3ADUTranscoder::getAttributes(), and FramedFilter::getAttributes().

00082                                       {
00083   // Default implementation
00084   envir().setResultMsg("");
00085 }

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

00036                                         {
00037   return "application/OCTET-STREAM"; // default type
00038 }

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(), createNew(), QuickTimeFileSink::createNew(), QCELPAudioRTPSource::createNew(), MP3FileSource::createNew(), AVIFileSink::createNew(), AMRAudioRTPSource::createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MediaSubsession::deInitiate(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), OnDemandServerMediaSubsession::sdpLines(), shutdownStream(), subsessionAfterPlaying(), ClientTrickPlayState::updateStateOnScaleChange(), AMRDeinterleaver::~AMRDeinterleaver(), ByteStreamMultiFileSource::~ByteStreamMultiFileSource(), DarwinInjector::~DarwinInjector(), FramedFilter::~FramedFilter(), H264VideoRTPSink::~H264VideoRTPSink(), InputESSourceRecord::~InputESSourceRecord(), MatroskaFileParser::~MatroskaFileParser(), MatroskaFileServerDemux::~MatroskaFileServerDemux(), MPEG1or2Demux::~MPEG1or2Demux(), MPEG1or2FileServerDemux::~MPEG1or2FileServerDemux(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFromPESSource::~MPEG2TransportStreamFromPESSource(), ProxyServerMediaSession::~ProxyServerMediaSession(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::~RTSPClientSessionSupportingHTTPStreaming(), ServerMediaSession::~ServerMediaSession(), ServerMediaSubsession::~ServerMediaSubsession(), StreamClientState::~StreamClientState(), StreamReplicator::~StreamReplicator(), and T140TextRTPSink::~T140TextRTPSink().

00052                                                           {
00053   MediaLookupTable::ourMedia(env)->remove(name);
00054 }

void Medium::close ( Medium medium  )  [static, inherited]

Definition at line 56 of file Media.cpp.

References Medium::close(), Medium::envir(), Medium::name(), and NULL.

00056                                  {
00057   if (medium == NULL) return;
00058 
00059   close(medium->envir(), medium->name());
00060 }

UsageEnvironment& Medium::envir (  )  const [inline, inherited]

Definition at line 59 of file Media.hh.

References Medium::fEnviron.

Referenced by QuickTimeFileSink::addArbitraryString(), FileSink::addData(), RTCPInstance::addStreamSocket(), MPEG2IFrameIndexFromTransportStream::addToTail(), StreamParser::afterGettingBytes1(), DummySink::afterGettingFrame(), TCPStreamSink::afterGettingFrame(), T140IdleFilter::afterGettingFrame(), FileSink::afterGettingFrame(), MultiFramedRTPSink::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2IFrameIndexFromTransportStream::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), H264VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoStreamParser::analyzeVOLHeader(), announceStream(), RTSPServer::RTSPClientSession::changeClientInputSocket(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), ProxyServerMediaSubsession::closeStreamSource(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), ProxyServerMediaSession::continueAfterDESCRIBE(), ProxyRTSPClient::continueAfterOPTIONS(), ProxyRTSPClient::continueAfterSETUP(), T140TextRTPSink::continuePlaying(), QuickTimeFileSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), AVIFileSink::continuePlaying(), VP8VideoMatroskaFileServerMediaSubsession::createNewRTPSink(), VorbisAudioMatroskaFileServerMediaSubsession::createNewRTPSink(), T140TextMatroskaFileServerMediaSubsession::createNewRTPSink(), ProxyServerMediaSubsession::createNewRTPSink(), MPEG4VideoFileServerMediaSubsession::createNewRTPSink(), MPEG2TransportUDPServerMediaSubsession::createNewRTPSink(), MPEG2TransportFileServerMediaSubsession::createNewRTPSink(), MPEG1or2VideoFileServerMediaSubsession::createNewRTPSink(), MPEG1or2DemuxedServerMediaSubsession::createNewRTPSink(), MP3AudioFileServerMediaSubsession::createNewRTPSink(), H264VideoFileServerMediaSubsession::createNewRTPSink(), H263plusVideoFileServerMediaSubsession::createNewRTPSink(), DVVideoFileServerMediaSubsession::createNewRTPSink(), AMRAudioFileServerMediaSubsession::createNewRTPSink(), ADTSAudioFileServerMediaSubsession::createNewRTPSink(), AC3AudioMatroskaFileServerMediaSubsession::createNewRTPSink(), AC3AudioFileServerMediaSubsession::createNewRTPSink(), AACAudioMatroskaFileServerMediaSubsession::createNewRTPSink(), ProxyServerMediaSubsession::createNewStreamSource(), MPEG4VideoFileServerMediaSubsession::createNewStreamSource(), MPEG2TransportUDPServerMediaSubsession::createNewStreamSource(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), MPEG1or2VideoFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MP3AudioFileServerMediaSubsession::createNewStreamSource(), H264VideoMatroskaFileServerMediaSubsession::createNewStreamSource(), H264VideoFileServerMediaSubsession::createNewStreamSource(), H263plusVideoFileServerMediaSubsession::createNewStreamSource(), DVVideoFileServerMediaSubsession::createNewStreamSource(), AMRAudioFileServerMediaSubsession::createNewStreamSource(), ADTSAudioFileServerMediaSubsession::createNewStreamSource(), AC3AudioFileServerMediaSubsession::createNewStreamSource(), AMRDeinterleavingBuffer::deliverIncomingFrame(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), SegmentQueue::dequeue(), DeviceSource::DeviceSource(), doGetNextFrame(), T140IdleFilter::doGetNextFrame(), MPEG2IFrameIndexFromTransportStream::doGetNextFrame(), MP3FileSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), SIPClient::doInviteStateMachine(), doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), doStopGettingFrames(), T140IdleFilter::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), MediaSubsession::env(), SubsessionIOState::envir(), RTSPServer::RTSPClientSession::envir(), RTPInterface::envir(), AVISubsessionIOState::envir(), ServerMediaSession::generateSDPDescription(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MP3ADUTranscoder::getAttributes(), MediaSource::getAttributes(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), H264VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), FramedSource::getNextFrame(), getOptions(), DVVideoStreamFramer::getProfile(), SIPClient::getResponse(), SIPClient::getResponseCode(), getSDPDescription(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPClient::handleGET_PARAMETERResponse(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), RTSPClient::handleIncomingRequest(), RTSPClient::handlePLAYResponse(), RTSPClient::handleRequestError(), RTSPClient::handleResponseBytes(), RTSPClient::handleSETUPResponse(), RTSPServer::incomingConnectionHandler(), RTSPClient::incomingDataHandler1(), RTCPInstance::incomingReportHandler1(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSession::initiateByMediaType(), SIPClient::invite1(), DynamicRTSPServer::lookupServerMediaSession(), MatroskaDemux::MatroskaDemux(), MatroskaFile::MatroskaFile(), MPEG4GenericRTPSource::MPEG4GenericRTPSource(), MatroskaDemux::newDemuxedTrack(), MPEG1or2FileServerDemux::newElementaryStream(), MPEG1or2Demux::newElementaryStream(), MPEG4GenericBufferedPacket::nextEnclosedFrameSize(), AMRBufferedPacket::nextEnclosedFrameSize(), T140IdleFilter::onSourceClosure(), RTSPClient::openConnection(), MPEG2TransportStreamIndexFile::openFid(), MPEG2IFrameIndexFromTransportStream::parseFrame(), AC3AudioStreamParser::parseFrame(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), SIPClient::parseResponseCode(), MediaSession::parseSDPLine(), MPEG1or2VideoStreamParser::parseSlice(), MatroskaFileParser::parseStartOfFile(), MPEGProgramStreamParser::parseSystemHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG4VideoStreamParser::parseVisualObject(), TCPStreamSink::processBuffer(), SIPClient::processURL(), AC3AudioStreamParser::readAndSaveAFrame(), MPEG1or2Demux::registerReadInterest(), RTCPInstance::reschedule(), RTSPClient::resendCommand(), ProxyRTSPClient::reset(), RTSPClient::resetTCPSockets(), RTSPClient::responseHandlerForHTTP_GET1(), RTSPServer::rtspURLPrefix(), RTCPInstance::schedule(), ProxyRTSPClient::scheduleDESCRIBECommand(), ProxyRTSPClient::scheduleLivenessCommand(), OnDemandServerMediaSubsession::sdpLines(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), MultiFramedRTPSink::sendPacketIfNecessary(), SIPClient::sendRequest(), RTSPClient::sendRequest(), DarwinInjector::setDestination(), RTSPClient::setupHTTPTunneling1(), setupNextSubsession(), RTSPServer::setUpTunnelingOverHTTP(), QuickTimeFileSink::setWord(), AVIFileSink::setWord(), QuickTimeFileSink::setWord64(), shutdownStream(), SIPClient::SIPClient(), TCPStreamSink::socketWritableHandler1(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), QuickTimeFileSink::startPlaying(), StreamState::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), startPlayingSession(), PassiveServerMediaSubsession::startStream(), MediaSink::stopPlaying(), ProxyServerMediaSubsession::subsessionByeHandler(), tearDownSession(), SIPClient::timerAHandler(), SIPClient::timerBHandler(), SIPClient::timerDHandler(), ClientTrickPlayState::updateStateOnScaleChange(), MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), DeviceSource::~DeviceSource(), RTSPServer::~RTSPServer(), StreamClientState::~StreamClientState(), T140IdleFilter::~T140IdleFilter(), and ~WAVAudioFileSource().

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(), doReadFromFile(), ByteStreamFileSource::doReadFromFile(), 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

FILE* WAVAudioFileSource::fFid [private]

Definition at line 69 of file WAVAudioFileSource.hh.

Referenced by doGetNextFrame(), doReadFromFile(), doStopGettingFrames(), seekToPCMByte(), setScaleFactor(), WAVAudioFileSource(), and ~WAVAudioFileSource().

double WAVAudioFileSource::fPlayTimePerSample [private]

Definition at line 70 of file WAVAudioFileSource.hh.

Referenced by doReadFromFile(), and WAVAudioFileSource().

unsigned WAVAudioFileSource::fPreferredFrameSize [private]

Definition at line 71 of file WAVAudioFileSource.hh.

Referenced by doReadFromFile(), and WAVAudioFileSource().

Boolean WAVAudioFileSource::fFidIsSeekable [private]

Definition at line 72 of file WAVAudioFileSource.hh.

Referenced by doReadFromFile(), setScaleFactor(), and WAVAudioFileSource().

unsigned WAVAudioFileSource::fLastPlayTime [private]

Definition at line 73 of file WAVAudioFileSource.hh.

Referenced by doReadFromFile().

Boolean WAVAudioFileSource::fHaveStartedReading [private]

Definition at line 74 of file WAVAudioFileSource.hh.

Referenced by doGetNextFrame(), and doStopGettingFrames().

unsigned WAVAudioFileSource::fWAVHeaderSize [private]

Definition at line 75 of file WAVAudioFileSource.hh.

Referenced by numPCMBytes(), seekToPCMByte(), and WAVAudioFileSource().

unsigned WAVAudioFileSource::fFileSize [private]

Definition at line 76 of file WAVAudioFileSource.hh.

Referenced by createNew(), numPCMBytes(), and seekToPCMByte().

int WAVAudioFileSource::fScaleFactor [private]

Definition at line 77 of file WAVAudioFileSource.hh.

Referenced by doReadFromFile(), and setScaleFactor().

Boolean WAVAudioFileSource::fLimitNumBytesToStream [private]

Definition at line 78 of file WAVAudioFileSource.hh.

Referenced by doGetNextFrame(), doReadFromFile(), and seekToPCMByte().

unsigned WAVAudioFileSource::fNumBytesToStream [private]

Definition at line 79 of file WAVAudioFileSource.hh.

Referenced by doGetNextFrame(), doReadFromFile(), and seekToPCMByte().

unsigned char WAVAudioFileSource::fAudioFormat [private]

Definition at line 80 of file WAVAudioFileSource.hh.

Referenced by getAudioFormat(), and WAVAudioFileSource().

char ** AudioInputDevice::allowedDeviceNames = NULL [static, inherited]

Definition at line 51 of file AudioInputDevice.hh.

unsigned char AudioInputDevice::fBitsPerSample [protected, inherited]

Definition at line 66 of file AudioInputDevice.hh.

Referenced by AudioInputDevice::bitsPerSample(), doReadFromFile(), setScaleFactor(), and WAVAudioFileSource().

unsigned char AudioInputDevice::fNumChannels [protected, inherited]

Definition at line 66 of file AudioInputDevice.hh.

Referenced by doReadFromFile(), AudioInputDevice::numChannels(), setScaleFactor(), and WAVAudioFileSource().

unsigned AudioInputDevice::fSamplingFrequency [protected, inherited]

Definition at line 67 of file AudioInputDevice.hh.

Referenced by AudioInputDevice::samplingFrequency(), and WAVAudioFileSource().

unsigned AudioInputDevice::fGranularityInMS [protected, inherited]

Definition at line 68 of file AudioInputDevice.hh.

unsigned char* FramedSource::fTo [protected, inherited]

Definition at line 74 of file FramedSource.hh.

Referenced by EndianSwap16::afterGettingFrame1(), HostFromNetworkOrder16::afterGettingFrame1(), NetworkFromHostOrder16::afterGettingFrame1(), PCMFromuLawAudioSource::afterGettingFrame1(), uLawFromPCMAudioSource::afterGettingFrame1(), MPEG4VideoStreamDiscreteFramer::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG1or2VideoStreamDiscreteFramer::afterGettingFrame1(), MP3ADUTranscoder::afterGettingFrame1(), H264VideoStreamDiscreteFramer::afterGettingFrame1(), DVVideoStreamFramer::afterGettingFrame1(), MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient(), StreamReplica::copyReceivedFrame(), StreamReplicator::deactivateStreamReplica(), MPEG2TransportStreamMultiplexor::deliverDataToClient(), DeviceSource::deliverFrame(), T140IdleFilter::deliverFromBuffer(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), StreamReplicator::deliverReceivedFrame(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), QCELPDeinterleaver::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(), 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(), EndianSwap16::doGetNextFrame(), HostFromNetworkOrder16::doGetNextFrame(), NetworkFromHostOrder16::doGetNextFrame(), PCMFromuLawAudioSource::doGetNextFrame(), uLawFromPCMAudioSource::doGetNextFrame(), QCELPDeinterleaver::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(), 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(), ByteStreamMultiFileSource::afterGettingFrame(), 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(), 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(), 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(), ByteStreamMultiFileSource::afterGettingFrame(), 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(), 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(), ByteStreamMultiFileSource::afterGettingFrame(), 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(), 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(), ByteStreamMultiFileSource::afterGettingFrame(), 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(), doReadFromFile(), ByteStreamFileSource::doReadFromFile(), MatroskaDemuxedTrack::durationInMicroseconds(), MP3FromADUSource::generateFrameFromHeadADU(), FramedSource::getNextFrame(), AC3AudioStreamFramer::parseNextFrame(), MP3ADUdeinterleaver::releaseOutgoingFrame(), and MP3ADUinterleaver::releaseOutgoingFrame().


The documentation for this class was generated from the following files:
Generated on Thu May 17 07:16:32 2012 for live by  doxygen 1.5.2