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


Public Types | |
| typedef void( | afterPlayingFunc )(void *clientData) |
Public Member Functions | |
| void | addData (unsigned char *data, unsigned dataSize, struct timeval presentationTime) |
| Boolean | startPlaying (MediaSource &source, afterPlayingFunc *afterFunc, void *afterClientData) |
| virtual void | stopPlaying () |
| virtual Boolean | isRTPSink () const |
| FramedSource * | source () const |
| UsageEnvironment & | envir () const |
| char const * | name () const |
| virtual Boolean | isSource () 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 H264VideoFileSink * | createNew (UsageEnvironment &env, char const *fileName, unsigned bufferSize=10000, Boolean oneFilePerFrame=False) |
| static Boolean | lookupByName (UsageEnvironment &env, char const *sinkName, MediaSink *&resultSink) |
| static Boolean | lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium) |
| static void | close (UsageEnvironment &env, char const *mediumName) |
| static void | close (Medium *medium) |
Protected Member Functions | |
| H264VideoFileSink (UsageEnvironment &env, FILE *fid, unsigned bufferSize, char const *perFrameFileNamePrefix) | |
| virtual | ~H264VideoFileSink () |
| virtual Boolean | sourceIsCompatibleWithUs (MediaSource &source) |
| virtual void | afterGettingFrame1 (unsigned frameSize, struct timeval presentationTime) |
| TaskToken & | nextTask () |
Static Protected Member Functions | |
| static void | afterGettingFrame (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) |
| static void | onSourceClosure (void *clientData) |
Protected Attributes | |
| FILE * | fOutFid |
| unsigned char * | fBuffer |
| unsigned | fBufferSize |
| char * | fPerFrameFileNamePrefix |
| char * | fPerFrameFileNameBuffer |
| FramedSource * | fSource |
Definition at line 28 of file H264VideoFileSink.hh.
typedef void( MediaSink::afterPlayingFunc)(void *clientData) [inherited] |
Definition at line 33 of file MediaSink.hh.
| H264VideoFileSink::H264VideoFileSink | ( | UsageEnvironment & | env, | |
| FILE * | fid, | |||
| unsigned | bufferSize, | |||
| char const * | perFrameFileNamePrefix | |||
| ) | [protected] |
| H264VideoFileSink::~H264VideoFileSink | ( | ) | [protected, virtual] |
| H264VideoFileSink * H264VideoFileSink::createNew | ( | UsageEnvironment & | env, | |
| char const * | fileName, | |||
| unsigned | bufferSize = 10000, |
|||
| Boolean | oneFilePerFrame = False | |||
| ) | [static] |
Reimplemented from FileSink.
Definition at line 36 of file H264VideoFileSink.cpp.
References env, H264VideoFileSink(), NULL, and OpenOutputFile().
Referenced by main().
00037 { 00038 do { 00039 FILE* fid; 00040 char const* perFrameFileNamePrefix; 00041 if (oneFilePerFrame) { 00042 // Create the fid for each frame 00043 fid = NULL; 00044 perFrameFileNamePrefix = fileName; 00045 } else { 00046 // Normal case: create the fid once 00047 fid = OpenOutputFile(env, fileName); 00048 if (fid == NULL) break; 00049 perFrameFileNamePrefix = NULL; 00050 } 00051 00052 return new H264VideoFileSink(env, fid, bufferSize, perFrameFileNamePrefix); 00053 } while (0); 00054 00055 return NULL; 00056 }
| Boolean H264VideoFileSink::sourceIsCompatibleWithUs | ( | MediaSource & | source | ) | [protected, virtual] |
Reimplemented from MediaSink.
Definition at line 58 of file H264VideoFileSink.cpp.
References True.
00058 { 00059 // Just return true, should be checking for H.264 video streams though 00060 return True; 00061 }
| void H264VideoFileSink::afterGettingFrame1 | ( | unsigned | frameSize, | |
| struct timeval | presentationTime | |||
| ) | [protected, virtual] |
Reimplemented from FileSink.
Definition at line 63 of file H264VideoFileSink.cpp.
References FileSink::addData(), and FileSink::afterGettingFrame1().
00064 { 00065 unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01}; 00066 addData(start_code, 4, presentationTime); 00067 00068 // Call the parent class to complete the normal file write with the input data: 00069 FileSink::afterGettingFrame1(frameSize, presentationTime); 00070 }
| void FileSink::addData | ( | unsigned char * | data, | |
| unsigned | dataSize, | |||
| struct timeval | presentationTime | |||
| ) | [inherited] |
Definition at line 91 of file FileSink.cpp.
References Medium::envir(), FileSink::fOutFid, FileSink::fPerFrameFileNameBuffer, FileSink::fPerFrameFileNamePrefix, NULL, OpenOutputFile(), and our_random().
Referenced by afterGettingFrame1(), FileSink::afterGettingFrame1(), AMRAudioFileSink::afterGettingFrame1(), and main().
00092 { 00093 if (fPerFrameFileNameBuffer != NULL) { 00094 // Special case: Open a new file on-the-fly for this frame 00095 sprintf(fPerFrameFileNameBuffer, "%s-%lu.%06lu", fPerFrameFileNamePrefix, 00096 presentationTime.tv_sec, presentationTime.tv_usec); 00097 fOutFid = OpenOutputFile(envir(), fPerFrameFileNameBuffer); 00098 } 00099 00100 // Write to our file: 00101 #ifdef TEST_LOSS 00102 static unsigned const framesPerPacket = 10; 00103 static unsigned const frameCount = 0; 00104 static Boolean const packetIsLost; 00105 if ((frameCount++)%framesPerPacket == 0) { 00106 packetIsLost = (our_random()%10 == 0); // simulate 10% packet loss ##### 00107 } 00108 00109 if (!packetIsLost) 00110 #endif 00111 if (fOutFid != NULL && data != NULL) { 00112 fwrite(data, 1, dataSize, fOutFid); 00113 } 00114 }
| void FileSink::afterGettingFrame | ( | void * | clientData, | |
| unsigned | frameSize, | |||
| unsigned | numTruncatedBytes, | |||
| struct timeval | presentationTime, | |||
| unsigned | durationInMicroseconds | |||
| ) | [static, protected, inherited] |
Definition at line 83 of file FileSink.cpp.
References FileSink::afterGettingFrame1().
Referenced by FileSink::continuePlaying().
00086 { 00087 FileSink* sink = (FileSink*)clientData; 00088 sink->afterGettingFrame1(frameSize, presentationTime); 00089 }
| Boolean MediaSink::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | sinkName, | |||
| MediaSink *& | resultSink | |||
| ) | [static, inherited] |
Definition at line 39 of file MediaSink.cpp.
References env, False, Medium::isSink(), Medium::lookupByName(), NULL, and True.
Referenced by RTPSink::lookupByName().
00040 { 00041 resultSink = NULL; // unless we succeed 00042 00043 Medium* medium; 00044 if (!Medium::lookupByName(env, sinkName, medium)) return False; 00045 00046 if (!medium->isSink()) { 00047 env.setResultMsg(sinkName, " is not a media sink"); 00048 return False; 00049 } 00050 00051 resultSink = (MediaSink*)medium; 00052 return True; 00053 }
| Boolean Medium::lookupByName | ( | UsageEnvironment & | env, | |
| char const * | mediumName, | |||
| Medium *& | resultMedium | |||
| ) | [static, inherited] |
Definition at line 65 of file Media.cpp.
References env, False, MediaLookupTable::lookup(), NULL, MediaLookupTable::ourMedia(), UsageEnvironment::setResultMsg(), and True.
Referenced by ServerMediaSession::lookupByName(), RTSPServer::lookupByName(), RTSPClient::lookupByName(), RTCPInstance::lookupByName(), MediaSource::lookupByName(), MediaSink::lookupByName(), MediaSession::lookupByName(), and DarwinInjector::lookupByName().
00066 { 00067 resultMedium = MediaLookupTable::ourMedia(env)->lookup(mediumName); 00068 if (resultMedium == NULL) { 00069 env.setResultMsg("Medium ", mediumName, " does not exist"); 00070 return False; 00071 } 00072 00073 return True; 00074 }
| Boolean MediaSink::startPlaying | ( | MediaSource & | source, | |
| afterPlayingFunc * | afterFunc, | |||
| void * | afterClientData | |||
| ) | [inherited] |
Definition at line 60 of file MediaSink.cpp.
References MediaSink::continuePlaying(), Medium::envir(), MediaSink::fAfterClientData, MediaSink::fAfterFunc, False, MediaSink::fSource, NULL, UsageEnvironment::setResultMsg(), MediaSink::source(), and MediaSink::sourceIsCompatibleWithUs().
Referenced by MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), main(), play(), and StreamState::startPlaying().
00062 { 00063 // Make sure we're not already being played: 00064 if (fSource != NULL) { 00065 envir().setResultMsg("This sink is already being played"); 00066 return False; 00067 } 00068 00069 // Make sure our source is compatible: 00070 if (!sourceIsCompatibleWithUs(source)) { 00071 envir().setResultMsg("MediaSink::startPlaying(): source is not compatible!"); 00072 return False; 00073 } 00074 fSource = (FramedSource*)&source; 00075 00076 fAfterFunc = afterFunc; 00077 fAfterClientData = afterClientData; 00078 return continuePlaying(); 00079 }
| void MediaSink::stopPlaying | ( | ) | [virtual, inherited] |
Reimplemented in H264VideoRTPSink, and MultiFramedRTPSink.
Definition at line 81 of file MediaSink.cpp.
References Medium::envir(), MediaSink::fAfterFunc, MediaSink::fSource, Medium::nextTask(), NULL, FramedSource::stopGettingFrames(), UsageEnvironment::taskScheduler(), and TaskScheduler::unscheduleDelayedTask().
Referenced by FileSink::afterGettingFrame1(), afterPlaying(), StreamState::pause(), MultiFramedRTPSink::stopPlaying(), and MediaSink::~MediaSink().
00081 { 00082 // First, tell the source that we're no longer interested: 00083 if (fSource != NULL) fSource->stopGettingFrames(); 00084 00085 // Cancel any pending tasks: 00086 envir().taskScheduler().unscheduleDelayedTask(nextTask()); 00087 nextTask() = NULL; 00088 00089 fSource = NULL; // indicates that we can be played again 00090 fAfterFunc = NULL; 00091 }
| Boolean MediaSink::isRTPSink | ( | ) | const [virtual, inherited] |
Reimplemented in RTPSink.
Definition at line 101 of file MediaSink.cpp.
References False.
Referenced by RTPSink::lookupByName().
00101 { 00102 return False; // default implementation 00103 }
| FramedSource* MediaSink::source | ( | ) | const [inline, inherited] |
Definition at line 42 of file MediaSink.hh.
References MediaSink::fSource.
Referenced by AMRAudioFileSink::afterGettingFrame1(), JPEGVideoRTPSink::doSpecialFrameHandling(), MPEG4ESVideoRTPSink::sourceIsCompatibleWithUs(), MPEG1or2VideoRTPSink::sourceIsCompatibleWithUs(), MediaSink::sourceIsCompatibleWithUs(), JPEGVideoRTPSink::sourceIsCompatibleWithUs(), H264VideoRTPSink::sourceIsCompatibleWithUs(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), AMRAudioFileSink::sourceIsCompatibleWithUs(), JPEGVideoRTPSink::specialHeaderSize(), and MediaSink::startPlaying().
00042 {return fSource;}
| void MediaSink::onSourceClosure | ( | void * | clientData | ) | [static, protected, inherited] |
Definition at line 93 of file MediaSink.cpp.
References MediaSink::fAfterClientData, MediaSink::fAfterFunc, MediaSink::fSource, and NULL.
Referenced by DummySink::afterGettingFrame1(), FileSink::afterGettingFrame1(), DummySink::continuePlaying(), FileSink::continuePlaying(), BasicUDPSink::continuePlaying1(), HTTPSink::ourOnSourceClosure(), and MultiFramedRTPSink::sendPacketIfNecessary().
00093 { 00094 MediaSink* sink = (MediaSink*)clientData; 00095 sink->fSource = NULL; // indicates that we can be played again 00096 if (sink->fAfterFunc != NULL) { 00097 (*(sink->fAfterFunc))(sink->fAfterClientData); 00098 } 00099 }
| void Medium::close | ( | UsageEnvironment & | env, | |
| char const * | mediumName | |||
| ) | [static, inherited] |
Definition at line 76 of file Media.cpp.
References env, MediaLookupTable::ourMedia(), and MediaLookupTable::remove().
Referenced by afterPlaying(), Medium::close(), closeMediaSinks(), OnDemandServerMediaSubsession::closeStreamSource(), WAVAudioFileSource::createNew(), QuickTimeFileSink::createNew(), QCELPAudioRTPSource::createNew(), MP3HTTPSource::createNew(), MP3FileSource::createNew(), AVIFileSink::createNew(), AMRAudioRTPSource::createNew(), WAVAudioFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), MediaSubsession::deInitiate(), MediaSubsession::initiate(), MPEG1or2ProgramStreamFileDuration(), MPEG1or2Demux::noteElementaryStreamDeletion(), ByteStreamMultiFileSource::onSourceClosure1(), StreamState::reclaim(), RTSPServer::removeServerMediaSession(), OnDemandServerMediaSubsession::sdpLines(), shutdown(), H264VideoRTPSink::stopPlaying(), subsessionAfterPlaying(), ClientTrickPlayState::updateStateOnScaleChange(), AMRDeinterleaver::~AMRDeinterleaver(), ByteStreamMultiFileSource::~ByteStreamMultiFileSource(), DarwinInjector::~DarwinInjector(), FramedFilter::~FramedFilter(), H264VideoRTPSink::~H264VideoRTPSink(), InputESSourceRecord::~InputESSourceRecord(), MPEG1or2Demux::~MPEG1or2Demux(), MPEG1or2FileServerDemux::~MPEG1or2FileServerDemux(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFromPESSource::~MPEG2TransportStreamFromPESSource(), ServerMediaSession::~ServerMediaSession(), and ServerMediaSubsession::~ServerMediaSubsession().
00076 { 00077 MediaLookupTable::ourMedia(env)->remove(name); 00078 }
| void Medium::close | ( | Medium * | medium | ) | [static, inherited] |
Definition at line 80 of file Media.cpp.
References Medium::close(), Medium::envir(), Medium::name(), and NULL.
00080 { 00081 if (medium == NULL) return; 00082 00083 close(medium->envir(), medium->name()); 00084 }
| UsageEnvironment& Medium::envir | ( | ) | const [inline, inherited] |
Definition at line 59 of file Media.hh.
References Medium::fEnviron.
Referenced by QuickTimeFileSink::addArbitraryString(), FileSink::addData(), MPEG2IFrameIndexFromTransportStream::addToTail(), StreamParser::afterGettingBytes(), MultiFramedRTPSink::afterGettingFrame1(), InputESSourceRecord::afterGettingFrame1(), MPEG2TransportStreamFramer::afterGettingFrame1(), MPEG2IFrameIndexFromTransportStream::afterGettingFrame1(), HTTPSink::afterGettingFrame1(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoStreamParser::analyzeVOLHeader(), RTSPClient::announceSDPDescription(), announceStream(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), Medium::close(), MPEG2IFrameIndexFromTransportStream::compactParseBuffer(), QuickTimeFileSink::continuePlaying(), HTTPSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), AVIFileSink::continuePlaying(), MPEG4VideoFileServerMediaSubsession::createNewRTPSink(), MPEG2TransportFileServerMediaSubsession::createNewRTPSink(), MPEG1or2VideoFileServerMediaSubsession::createNewRTPSink(), MPEG1or2DemuxedServerMediaSubsession::createNewRTPSink(), H263plusVideoFileServerMediaSubsession::createNewRTPSink(), AMRAudioFileServerMediaSubsession::createNewRTPSink(), ADTSAudioFileServerMediaSubsession::createNewRTPSink(), MPEG4VideoFileServerMediaSubsession::createNewStreamSource(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), MPEG1or2VideoFileServerMediaSubsession::createNewStreamSource(), MPEG1or2DemuxedServerMediaSubsession::createNewStreamSource(), H263plusVideoFileServerMediaSubsession::createNewStreamSource(), AMRAudioFileServerMediaSubsession::createNewStreamSource(), ADTSAudioFileServerMediaSubsession::createNewStreamSource(), MPEG2IFrameIndexFromTransportStream::deliverIndexRecord(), SegmentQueue::dequeue(), RTSPClient::describeURL(), WAVAudioFileSource::doGetNextFrame(), MPEG2IFrameIndexFromTransportStream::doGetNextFrame(), MP3FileSource::doGetNextFrame(), H264FUAFragmenter::doGetNextFrame(), ByteStreamMultiFileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), MP3FileSource::doGetNextFrame1(), ADUFromMP3Source::doGetNextFrame1(), SIPClient::doInviteStateMachine(), ByteStreamFileSource::doReadFromFile(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), MP3ADURTPSink::doSpecialFrameHandling(), H263plusVideoRTPSink::doSpecialFrameHandling(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SegmentQueue::enqueueNewSegment(), StreamParser::ensureValidBytes1(), MediaSubsession::env(), SubsessionIOState::envir(), RTSPServer::RTSPClientSession::envir(), RTSPOverHTTPServer::HTTPClientConnection::envir(), RTPInterface::envir(), AVISubsessionIOState::envir(), ServerMediaSession::generateSDPDescription(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MP3ADUTranscoder::getAttributes(), MediaSource::getAttributes(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), RTSPClient::getMediaSessionParameter(), getMPEG1or2TimeCode(), FramedSource::getNextFrame(), getOptionsResponse(), SIPClient::getResponse(), RTSPClient::getResponse(), RTSPClient::getResponse1(), SIPClient::getResponseCode(), getSDPDescriptionFromURL(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPServer::incomingConnectionHandler1(), RTSPOverHTTPServer::incomingConnectionHandler1(), RTCPInstance::incomingReportHandler1(), RTSPClient::incomingRequestHandler1(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSession::initiateByMediaType(), SIPClient::invite1(), DynamicRTSPServer::lookupServerMediaSession(), MPEG4GenericRTPSource::MPEG4GenericRTPSource(), MPEG1or2FileServerDemux::newElementaryStream(), MPEG1or2Demux::newElementaryStream(), MPEG4GenericBufferedPacket::nextEnclosedFrameSize(), AMRBufferedPacket::nextEnclosedFrameSize(), RTSPClient::openConnectionFromURL(), MPEG2TransportStreamIndexFile::openFid(), MPEG2IFrameIndexFromTransportStream::parseFrame(), AC3AudioStreamParser::parseFrame(), RTSPClient::parseGetParameterHeader(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), SIPClient::parseResponseCode(), RTSPClient::parseResponseCode(), MediaSession::parseSDPLine(), MPEG1or2VideoStreamParser::parseSlice(), MPEGProgramStreamParser::parseSystemHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG4VideoStreamParser::parseVisualObject(), RTSPClient::pauseMediaSession(), RTSPClient::pauseMediaSubsession(), RTSPClient::playMediaSession(), RTSPClient::playMediaSubsession(), AC3AudioRTPSource::processSpecialHeader(), SIPClient::processURL(), AC3AudioStreamParser::readAndSaveAFrame(), RTSPClient::recordMediaSubsession(), MPEG1or2Demux::registerReadInterest(), RTCPInstance::reschedule(), RTSPServer::rtspURLPrefix(), RTCPInstance::schedule(), OnDemandServerMediaSubsession::sdpLines(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), RTSPClient::sendOptionsCmd(), MultiFramedRTPSink::sendPacketIfNecessary(), SIPClient::sendRequest(), RTSPClient::sendRequest(), DarwinInjector::setDestination(), RTSPClient::setMediaSessionParameter(), RTSPClient::setupHTTPTunneling(), RTSPClient::setupMediaSubsession(), QuickTimeFileSink::setWord(), AVIFileSink::setWord(), SIPClient::SIPClient(), AMRAudioRTPSink::sourceIsCompatibleWithUs(), QuickTimeFileSink::startPlaying(), StreamState::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), MediaSink::stopPlaying(), RTSPClient::teardownMediaSession(), RTSPClient::teardownMediaSubsession(), SIPClient::timerAHandler(), SIPClient::timerBHandler(), SIPClient::timerDHandler(), ClientTrickPlayState::updateStateOnScaleChange(), MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPOverHTTPServer::HTTPClientConnection::~HTTPClientConnection(), RTSPClient::~RTSPClient(), and RTSPServer::~RTSPServer().
00059 {return fEnviron;}
| char const* Medium::name | ( | ) | const [inline, inherited] |
Definition at line 61 of file Media.hh.
References Medium::fMediumName.
Referenced by QuickTimeFileSink::addAtom_hdlr2(), Medium::close(), MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), and MP3FileSource::initializeStream().
00061 {return fMediumName;}
| Boolean Medium::isSource | ( | ) | const [virtual, inherited] |
Reimplemented in MediaSource.
Definition at line 86 of file Media.cpp.
References False.
Referenced by MediaSource::lookupByName().
00086 { 00087 return False; // default implementation 00088 }
| Boolean Medium::isRTCPInstance | ( | ) | const [virtual, inherited] |
Reimplemented in RTCPInstance.
Definition at line 94 of file Media.cpp.
References False.
Referenced by RTCPInstance::lookupByName().
00094 { 00095 return False; // default implementation 00096 }
| Boolean Medium::isRTSPClient | ( | ) | const [virtual, inherited] |
Reimplemented in RTSPClient.
Definition at line 98 of file Media.cpp.
References False.
Referenced by RTSPClient::lookupByName().
00098 { 00099 return False; // default implementation 00100 }
| Boolean Medium::isRTSPServer | ( | ) | const [virtual, inherited] |
Reimplemented in RTSPServer.
Definition at line 102 of file Media.cpp.
References False.
Referenced by RTSPServer::lookupByName().
00102 { 00103 return False; // default implementation 00104 }
| Boolean Medium::isMediaSession | ( | ) | const [virtual, inherited] |
Reimplemented in MediaSession.
Definition at line 106 of file Media.cpp.
References False.
Referenced by MediaSession::lookupByName().
00106 { 00107 return False; // default implementation 00108 }
| Boolean Medium::isServerMediaSession | ( | ) | const [virtual, inherited] |
Reimplemented in ServerMediaSession.
Definition at line 110 of file Media.cpp.
References False.
Referenced by ServerMediaSession::lookupByName().
00110 { 00111 return False; // default implementation 00112 }
| Boolean Medium::isDarwinInjector | ( | ) | const [virtual, inherited] |
Reimplemented in DarwinInjector.
Definition at line 114 of file Media.cpp.
References False.
Referenced by DarwinInjector::lookupByName().
00114 { 00115 return False; // default implementation 00116 }
| TaskToken& Medium::nextTask | ( | ) | [inline, protected, inherited] |
Definition at line 77 of file Media.hh.
References Medium::fNextTask.
Referenced by BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), WAVAudioFileSource::doGetNextFrame(), MP3FileSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), ByteStreamFileSource::doReadFromFile(), RTCPInstance::reschedule(), RTCPInstance::schedule(), MultiFramedRTPSink::sendPacketIfNecessary(), and MediaSink::stopPlaying().
00077 { 00078 return fNextTask; 00079 }
FILE* FileSink::fOutFid [protected, inherited] |
Definition at line 58 of file FileSink.hh.
Referenced by FileSink::addData(), FileSink::afterGettingFrame1(), and FileSink::~FileSink().
unsigned char* FileSink::fBuffer [protected, inherited] |
Definition at line 59 of file FileSink.hh.
Referenced by FileSink::afterGettingFrame1(), FileSink::continuePlaying(), FileSink::FileSink(), and FileSink::~FileSink().
unsigned FileSink::fBufferSize [protected, inherited] |
char* FileSink::fPerFrameFileNamePrefix [protected, inherited] |
Definition at line 61 of file FileSink.hh.
Referenced by FileSink::addData(), FileSink::FileSink(), and FileSink::~FileSink().
char* FileSink::fPerFrameFileNameBuffer [protected, inherited] |
Definition at line 62 of file FileSink.hh.
Referenced by FileSink::addData(), FileSink::afterGettingFrame1(), AMRAudioFileSink::afterGettingFrame1(), FileSink::FileSink(), and FileSink::~FileSink().
FramedSource* MediaSink::fSource [protected, inherited] |
Definition at line 57 of file MediaSink.hh.
Referenced by AMRAudioFileSink::afterGettingFrame1(), MPEG4ESVideoRTPSink::auxSDPLine(), DummySink::continuePlaying(), HTTPSink::continuePlaying(), H264VideoRTPSink::continuePlaying(), FileSink::continuePlaying(), BasicUDPSink::continuePlaying1(), MPEG4ESVideoRTPSink::doSpecialFrameHandling(), MPEG1or2VideoRTPSink::doSpecialFrameHandling(), JPEGVideoRTPSink::doSpecialFrameHandling(), AMRAudioRTPSink::doSpecialFrameHandling(), MediaSink::onSourceClosure(), MultiFramedRTPSink::packFrame(), MediaSink::source(), JPEGVideoRTPSink::specialHeaderSize(), MediaSink::startPlaying(), MediaSink::stopPlaying(), H264VideoRTPSink::stopPlaying(), and H264VideoRTPSink::~H264VideoRTPSink().
1.5.2