AVIFileSink Class Reference

#include <AVIFileSink.hh>

Inheritance diagram for AVIFileSink:

Inheritance graph
Collaboration diagram for AVIFileSink:

Collaboration graph

Public Types

typedef void( afterPlayingFunc )(void *clientData)

Public Member Functions

Boolean startPlaying (afterPlayingFunc *afterFunc, void *afterClientData)
unsigned numActiveSubsessions () const
UsageEnvironmentenvir () const
char const * name () const
virtual Boolean isSource () const
virtual Boolean isSink () const
virtual Boolean isRTCPInstance () const
virtual Boolean isRTSPClient () const
virtual Boolean isRTSPServer () const
virtual Boolean isMediaSession () const
virtual Boolean isServerMediaSession () const
virtual Boolean isDarwinInjector () const

Static Public Member Functions

static AVIFileSinkcreateNew (UsageEnvironment &env, MediaSession &inputSession, char const *outputFileName, unsigned bufferSize=20000, unsigned short movieWidth=240, unsigned short movieHeight=180, unsigned movieFPS=15, Boolean packetLossCompensate=False)
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

TaskTokennextTask ()

Private Member Functions

 AVIFileSink (UsageEnvironment &env, MediaSession &inputSession, char const *outputFileName, unsigned bufferSize, unsigned short movieWidth, unsigned short movieHeight, unsigned movieFPS, Boolean packetLossCompensate)
virtual ~AVIFileSink ()
Boolean continuePlaying ()
void onSourceClosure1 ()
void addIndexRecord (class AVIIndexRecord *newIndexRecord)
void completeOutputFile ()
unsigned addWord (unsigned word)
unsigned addHalfWord (unsigned short halfWord)
unsigned addByte (unsigned char byte)
unsigned addZeroWords (unsigned numWords)
unsigned add4ByteString (char const *str)
void setWord (unsigned filePosn, unsigned size)
 _header (AVI)
 _header (hdrl)
 _header (avih)
 _header (strl)
 _header (strh)
 _header (strf)
 _header (JUNK)
 _header (movi)

Static Private Member Functions

static void afterGettingFrame (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
static void onSourceClosure (void *clientData)
static void onRTCPBye (void *clientData)

Private Attributes

FILE * fOutFid
AVIIndexRecord * fIndexRecordsHead
AVIIndexRecord * fIndexRecordsTail
unsigned fNumIndexRecords
unsigned fBufferSize
Boolean fPacketLossCompensate
Boolean fAreCurrentlyBeingPlayed
void * fAfterClientData
unsigned fNumSubsessions
unsigned fNumBytesWritten
timeval fStartTime
Boolean fHaveCompletedOutputFile
unsigned short fMovieWidth
unsigned short fMovieHeight
unsigned fMovieFPS
unsigned fRIFFSizePosition
unsigned fRIFFSizeValue
unsigned fAVIHMaxBytesPerSecondPosition
unsigned fAVIHFrameCountPosition
unsigned fMoviSizePosition
unsigned fMoviSizeValue
AVISubsessionIOState * fCurrentIOState
unsigned fJunkNumber


class AVISubsessionIOState
class MediaLookupTable

Detailed Description

Definition at line 28 of file AVIFileSink.hh.

Member Typedef Documentation

typedef void( AVIFileSink::afterPlayingFunc)(void *clientData)

Definition at line 39 of file AVIFileSink.hh.

Constructor & Destructor Documentation

AVIFileSink::AVIFileSink ( UsageEnvironment env,
MediaSession inputSession,
char const *  outputFileName,
unsigned  bufferSize,
unsigned short  movieWidth,
unsigned short  movieHeight,
unsigned  movieFPS,
Boolean  packetLossCompensate 
) [private]

virtual AVIFileSink::~AVIFileSink (  )  [private, virtual]

Member Function Documentation

static AVIFileSink* AVIFileSink::createNew ( UsageEnvironment env,
MediaSession inputSession,
char const *  outputFileName,
unsigned  bufferSize = 20000,
unsigned short  movieWidth = 240,
unsigned short  movieHeight = 180,
unsigned  movieFPS = 15,
Boolean  packetLossCompensate = False 
) [static]

Boolean AVIFileSink::startPlaying ( afterPlayingFunc afterFunc,
void *  afterClientData 

unsigned AVIFileSink::numActiveSubsessions (  )  const [inline]

Definition at line 43 of file AVIFileSink.hh.

References fNumSubsessions.

00043 { return fNumSubsessions; }

Boolean AVIFileSink::continuePlaying (  )  [private]

static void AVIFileSink::afterGettingFrame ( void *  clientData,
unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
) [static, private]

static void AVIFileSink::onSourceClosure ( void *  clientData  )  [static, private]

void AVIFileSink::onSourceClosure1 (  )  [private]

static void AVIFileSink::onRTCPBye ( void *  clientData  )  [static, private]

void AVIFileSink::addIndexRecord ( class AVIIndexRecord *  newIndexRecord  )  [private]

void AVIFileSink::completeOutputFile (  )  [private]

unsigned AVIFileSink::addWord ( unsigned  word  )  [private]

unsigned AVIFileSink::addHalfWord ( unsigned short  halfWord  )  [private]

unsigned AVIFileSink::addByte ( unsigned char  byte  )  [inline, private]

Definition at line 85 of file AVIFileSink.hh.

References fOutFid.

00085                                        {
00086     putc(byte, fOutFid);
00087     return 1;
00088   }

unsigned AVIFileSink::addZeroWords ( unsigned  numWords  )  [private]

unsigned AVIFileSink::add4ByteString ( char const *  str  )  [private]

void AVIFileSink::setWord ( unsigned  filePosn,
unsigned  size 
) [private]

AVIFileSink::_header ( AVI   )  [private]

AVIFileSink::_header ( hdrl   )  [private]

AVIFileSink::_header ( avih   )  [private]

AVIFileSink::_header ( strl   )  [private]

AVIFileSink::_header ( strh   )  [private]

AVIFileSink::_header ( strf   )  [private]

AVIFileSink::_header ( JUNK   )  [private]

AVIFileSink::_header ( movi   )  [private]

static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
) [static, inherited]

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
) [static, inherited]

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

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

Definition at line 59 of file Media.hh.

References Medium::fEnviron.

Referenced by MediaSubsession::env(), RTSPServer::RTSPClientSession::envir(), RTSPServer::RTSPClientConnection::envir(), and RTPInterface::envir().

00059 {return fEnviron;}

char const* Medium::name (  )  const [inline, inherited]

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

00061 {return fMediumName;}

virtual Boolean Medium::isSource (  )  const [virtual, inherited]

Reimplemented in MediaSource.

virtual Boolean Medium::isSink (  )  const [virtual, inherited]

Reimplemented in MediaSink.

virtual Boolean Medium::isRTCPInstance (  )  const [virtual, inherited]

Reimplemented in RTCPInstance.

virtual Boolean Medium::isRTSPClient (  )  const [virtual, inherited]

Reimplemented in RTSPClient.

virtual Boolean Medium::isRTSPServer (  )  const [virtual, inherited]

Reimplemented in RTSPServer.

virtual Boolean Medium::isMediaSession (  )  const [virtual, inherited]

Reimplemented in MediaSession.

virtual Boolean Medium::isServerMediaSession (  )  const [virtual, inherited]

Reimplemented in ServerMediaSession.

virtual Boolean Medium::isDarwinInjector (  )  const [virtual, inherited]

Reimplemented in DarwinInjector.

TaskToken& Medium::nextTask (  )  [inline, protected, inherited]

Definition at line 78 of file Media.hh.

References Medium::fNextTask.

00078                         {
00079         return fNextTask;
00080   }

Friends And Related Function Documentation

friend class AVISubsessionIOState [friend]

Definition at line 65 of file AVIFileSink.hh.

friend class MediaLookupTable [friend, inherited]

Definition at line 74 of file Media.hh.

Field Documentation

MediaSession& AVIFileSink::fInputSession [private]

Definition at line 66 of file AVIFileSink.hh.

FILE* AVIFileSink::fOutFid [private]

Definition at line 67 of file AVIFileSink.hh.

Referenced by addByte().

class AVIIndexRecord* AVIFileSink::fIndexRecordsHead [private]

Definition at line 68 of file AVIFileSink.hh.

class AVIIndexRecord * AVIFileSink::fIndexRecordsTail [private]

Definition at line 68 of file AVIFileSink.hh.

unsigned AVIFileSink::fNumIndexRecords [private]

Definition at line 69 of file AVIFileSink.hh.

unsigned AVIFileSink::fBufferSize [private]

Definition at line 70 of file AVIFileSink.hh.

Boolean AVIFileSink::fPacketLossCompensate [private]

Definition at line 71 of file AVIFileSink.hh.

Boolean AVIFileSink::fAreCurrentlyBeingPlayed [private]

Definition at line 72 of file AVIFileSink.hh.

afterPlayingFunc* AVIFileSink::fAfterFunc [private]

Definition at line 73 of file AVIFileSink.hh.

void* AVIFileSink::fAfterClientData [private]

Definition at line 74 of file AVIFileSink.hh.

unsigned AVIFileSink::fNumSubsessions [private]

Definition at line 75 of file AVIFileSink.hh.

Referenced by numActiveSubsessions().

unsigned AVIFileSink::fNumBytesWritten [private]

Definition at line 76 of file AVIFileSink.hh.

struct timeval AVIFileSink::fStartTime [read, private]

Definition at line 77 of file AVIFileSink.hh.

Boolean AVIFileSink::fHaveCompletedOutputFile [private]

Definition at line 78 of file AVIFileSink.hh.

unsigned short AVIFileSink::fMovieWidth [private]

Definition at line 105 of file AVIFileSink.hh.

unsigned short AVIFileSink::fMovieHeight [private]

Definition at line 105 of file AVIFileSink.hh.

unsigned AVIFileSink::fMovieFPS [private]

Definition at line 106 of file AVIFileSink.hh.

unsigned AVIFileSink::fRIFFSizePosition [private]

Definition at line 107 of file AVIFileSink.hh.

unsigned AVIFileSink::fRIFFSizeValue [private]

Definition at line 107 of file AVIFileSink.hh.

unsigned AVIFileSink::fAVIHMaxBytesPerSecondPosition [private]

Definition at line 108 of file AVIFileSink.hh.

unsigned AVIFileSink::fAVIHFrameCountPosition [private]

Definition at line 109 of file AVIFileSink.hh.

unsigned AVIFileSink::fMoviSizePosition [private]

Definition at line 110 of file AVIFileSink.hh.

unsigned AVIFileSink::fMoviSizeValue [private]

Definition at line 110 of file AVIFileSink.hh.

class AVISubsessionIOState* AVIFileSink::fCurrentIOState [private]

Definition at line 111 of file AVIFileSink.hh.

unsigned AVIFileSink::fJunkNumber [private]

Definition at line 112 of file AVIFileSink.hh.

The documentation for this class was generated from the following file:
Generated on Sun Jul 13 05:11:09 2014 for live by  doxygen 1.5.2