liveMedia/QuickTimeFileSink.cpp File Reference

#include "QuickTimeFileSink.hh"
#include "QuickTimeGenericRTPSource.hh"
#include "GroupsockHelper.hh"
#include "InputFile.hh"
#include "OutputFile.hh"
#include "H263plusVideoRTPSource.hh"
#include "MPEG4GenericRTPSource.hh"
#include "MPEG4LATMAudioRTPSource.hh"
#include "Base64.hh"
#include <ctype.h>

Include dependency graph for QuickTimeFileSink.cpp:

Go to the source code of this file.

Data Structures

class  ChunkDescriptor
class  SubsessionBuffer
class  SyncFrame
class  Count64
class  SubsessionIOState
struct  SubsessionIOState::hinf

Defines

#define fourChar(x, y, z, w)   ( ((x)<<24)|((y)<<16)|((z)<<8)|(w) )
#define H264_IDR_FRAME   0x65
#define addAtom(name)
#define addAtomEnd
#define addEdit1(duration, trackPosition)
#define addEdit(duration)   addEdit1((duration),editTrackPosition)
#define addEmptyEdit(duration)   addEdit1((duration),(~0))

Functions

static Boolean timevalGE (struct timeval const &tv1, struct timeval const &tv2)
 addAtom (ftyp)
 addAtom (moov)
 if (fGenerateMP4Format)
 while ((subsession=iter.next())!=NULL)
iter reset ()
 addAtom (mvhd)
 addAtom (iods)
 addAtom (trak)
 if (fCurrentIOState->fHeadChunk!=NULL &&(fSyncStreams||fCurrentIOState->isHintTrack()))
 if (fCurrentIOState->isHintTrack()) size+ = addAtom_udta()
 addAtom (tkhd)
 if (fCurrentIOState->fQTEnableTrack)
 if (strcmp(fCurrentIOState->fOurSubsession.mediumName(),"video")==0)
 addAtom (edts)
 addAtom (elst)
 while (chunk!=NULL)
 if (trackDurationOfEdit > 0.0) addEdit(trackDurationOfEdit)
 setWord (numEntriesPosition, numEdits)
 if (totalDurationOfEdits > fCurrentIOState->fQTDurationM)
 addAtom (tref)
 addAtom (hint)
 addAtom (mdia)
 addAtom (mdhd)
 addAtom (hdlr)
 addAtom (minf)
 addAtom (smhd)
 addAtom (vmhd)
 addAtom (gmhd)
 addAtom (gmin)

Variables

 size = add4ByteString("mp42")
 size = addWord(0x00000000)
 size = add4ByteString("mp42")
 size = add4ByteString("isom")
 addAtomEnd
 size = addAtom_mvhd()
MediaSubsessionIterator iter (fInputSession)
MediaSubsessionsubsession
 addAtomEnd
 size = addWord(0x00000000)
 size = addWord(fAppleCreationTime)
 size = addWord(fAppleCreationTime)
 size = addWord(movieTimeScale())
unsigned const duration = fMaxTrackDurationM
 fMVHD_durationPosn = TellFile64(fOutFid)
 size = addWord(duration)
 size = addWord(0x00010000)
 size = addWord(0x01000000)
 size = addZeroWords(2)
 size = addWord(0x00010000)
 size = addZeroWords(3)
 size = addWord(0x00010000)
 size = addZeroWords(3)
 size = addWord(0x40000000)
 size = addZeroWords(6)
 size = addWord(SubsessionIOState::fCurrentTrackNumber+1)
 addAtomEnd
 size = addWord(0x00000000)
 size = addWord(0x10808080)
 size = addWord(0x07004FFF)
 size = addWord(0xFF0FFFFF)
 addAtomEnd
 size = addAtom_tkhd()
 size = addAtom_mdia()
 addAtomEnd
 size = addWord(fAppleCreationTime)
 size = addWord(fCurrentIOState->fTrackID)
 size = addWord(0x00000000)
unsigned const duration = fCurrentIOState->fQTDurationM
fCurrentIOState fTKHD_durationPosn = TellFile64(fOutFid)
 size = addWord(duration)
 size = addZeroWords(3)
 size = addWord(0x01000000)
 size = addWord(0x00010000)
 size = addZeroWords(3)
 size = addWord(0x00010000)
 size = addZeroWords(3)
 size = addWord(0x40000000)
 size = addAtom_elst()
 addAtomEnd
 size = addWord(0x00000000)
int64_t numEntriesPosition = TellFile64(fOutFid)
 size = addWord(0)
unsigned numEdits = 0
unsigned totalDurationOfEdits = 0
double const syncThreshold = 0.1
timeval editStartTime = fFirstDataTime
unsigned editTrackPosition = 0
unsigned currentTrackPosition = 0
double trackDurationOfEdit = 0.0
unsigned chunkDuration = 0
ChunkDescriptorchunk = fCurrentIOState->fHeadChunk
 trackDurationOfEdit = (double)chunkDuration/fCurrentIOState->fQTTimeScale
 addAtomEnd
 size = addAtom_hint()
 addAtomEnd
SubsessionIOStatehintedTrack = fCurrentIOState->fTrackHintedByUs
 size = addWord(hintedTrack->fTrackID)
 addAtomEnd
 size = addAtom_mdhd()
 size = addAtom_hdlr()
 size = addAtom_minf()
 addAtomEnd
 size = addWord(0x00000000)
 size = addWord(fAppleCreationTime)
 size = addWord(fAppleCreationTime)
unsigned const timeScale = fCurrentIOState->fQTTimeScale
 size = addWord(timeScale)
unsigned const duration = fCurrentIOState->fQTDurationT
 size = addWord(duration)
 size = addWord(0x00000000)
 addAtomEnd
 size = addWord(0x00000000)
 size = add4ByteString("mhlr")
 size = addWord(fCurrentIOState->fQTcomponentSubtype)
 size = add4ByteString("appl")
 size = addWord(0x00000000)
 size = addWord(0x00000000)
 size = addArbitraryString(fCurrentIOState->fQTcomponentName)
 addAtomEnd
SubsessionIOState::atomCreationFunc mediaInformationAtomCreator = fCurrentIOState->fQTMediaInformationAtomCreator
 size = (this->*mediaInformationAtomCreator)()
 size = addAtom_hdlr2()
 size = addAtom_dinf()
 size = addAtom_stbl()
 addAtomEnd
 size = addZeroWords(2)
 addAtomEnd
 size = addWord(0x00000001)
 size = addWord(0x00408000)
 size = addWord(0x80008000)
 addAtomEnd
 size = addAtom_gmin()
 addAtomEnd
 size = addWord(0x00000000)
 size = addWord(0x00408000)
 size = addWord(0x80008000)
 size = addWord(0x00000000)
 addAtomEnd


Define Documentation

#define addAtom ( name   ) 

Value:

unsigned QuickTimeFileSink::addAtom_##name() { \
    int64_t initFilePosn = TellFile64(fOutFid); \
    unsigned size = addAtomHeader("" #name "")

Definition at line 1287 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::addAtom_hdlr2().

#define addAtomEnd

Value:

setWord(initFilePosn, size); \
  return size; \
}

Definition at line 1292 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::addAtom_hdlr2().

#define addEdit ( duration   )     addEdit1((duration),editTrackPosition)

Definition at line 1441 of file QuickTimeFileSink.cpp.

Referenced by while().

#define addEdit1 ( duration,
trackPosition   ) 

Value:

do { \
      unsigned trackDuration \
        = (unsigned) ((2*(duration)*movieTimeScale()+1)/2); \
            /* in movie time units */ \
      size += addWord(trackDuration); /* Track duration */ \
      totalDurationOfEdits += trackDuration; \
      size += addWord(trackPosition); /* Media time */ \
      size += addWord(0x00010000); /* Media rate (1x) */ \
      ++numEdits; \
} while (0)

Definition at line 1431 of file QuickTimeFileSink.cpp.

#define addEmptyEdit ( duration   )     addEdit1((duration),(~0))

Definition at line 1442 of file QuickTimeFileSink.cpp.

Referenced by while().

#define fourChar ( x,
y,
z,
 )     ( ((x)<<24)|((y)<<16)|((z)<<8)|(w) )

Definition at line 33 of file QuickTimeFileSink.cpp.

#define H264_IDR_FRAME   0x65

Definition at line 35 of file QuickTimeFileSink.cpp.

Referenced by SubsessionIOState::syncOK(), and SubsessionIOState::useFrame().


Function Documentation

addAtom ( gmin   ) 

addAtom ( gmhd   ) 

addAtom ( vmhd   ) 

addAtom ( smhd   ) 

addAtom ( minf   ) 

addAtom ( hdlr   ) 

addAtom ( mdhd   ) 

addAtom ( mdia   ) 

addAtom ( hint   ) 

addAtom ( tref   ) 

addAtom ( elst   ) 

addAtom ( edts   ) 

addAtom ( tkhd   ) 

addAtom ( trak   ) 

addAtom ( iods   ) 

addAtom ( mvhd   ) 

addAtom ( moov   ) 

addAtom ( ftyp   ) 

if ( totalDurationOfEdits  ,
fCurrentIOState->  fQTDurationM 
)

Definition at line 1515 of file QuickTimeFileSink.cpp.

References QuickTimeFileSink::fCurrentIOState, QuickTimeFileSink::fMaxTrackDurationM, QuickTimeFileSink::fMVHD_durationPosn, SubsessionIOState::fQTDurationM, SubsessionIOState::fQTDurationT, SubsessionIOState::fQTTimeScale, SubsessionIOState::fTKHD_durationPosn, QuickTimeFileSink::movieTimeScale(), and QuickTimeFileSink::setWord().

01515                                                             {
01516     fCurrentIOState->fQTDurationM = totalDurationOfEdits;
01517     setWord(fCurrentIOState->fTKHD_durationPosn, totalDurationOfEdits);
01518 
01519     // Also, check whether the overall movie duration needs to change:
01520     if (totalDurationOfEdits > fMaxTrackDurationM) {
01521       fMaxTrackDurationM = totalDurationOfEdits;
01522       setWord(fMVHD_durationPosn, totalDurationOfEdits);
01523     }
01524 
01525     // Also, convert to track time scale:
01526     double scaleFactor
01527       = fCurrentIOState->fQTTimeScale/(double)movieTimeScale();
01528     fCurrentIOState->fQTDurationT
01529       = (unsigned)(totalDurationOfEdits*scaleFactor);
01530   }

if ( trackDurationOfEdit  ,
0.  0 
)

if ( strcmp(fCurrentIOState->fOurSubsession.mediumName(),"video")  = = 0  ) 

Definition at line 1419 of file QuickTimeFileSink.cpp.

References QuickTimeFileSink::addWord(), QuickTimeFileSink::fMovieHeight, QuickTimeFileSink::fMovieWidth, and size.

01419                                                                           {
01420     size += addWord(fMovieWidth<<16); // Track width
01421     size += addWord(fMovieHeight<<16); // Track height
01422   } else {

if ( fCurrentIOState->  fQTEnableTrack  ) 

Definition at line 1398 of file QuickTimeFileSink.cpp.

References QuickTimeFileSink::addWord(), and size.

01398                                        {
01399     size += addWord(0x0000000F); // Version +  Flags
01400   } else {

if ( fCurrentIOState->  isHintTrack()  )  = addAtom_udta()

if ( fCurrentIOState->fHeadChunk!  = NULL && (fSyncStreams || fCurrentIOState->isHintTrack())  ) 

Definition at line 1383 of file QuickTimeFileSink.cpp.

References size.

01384                                                            {
01385     size += addAtom_edts();
01386   }

if ( fGenerateMP4Format   ) 

Definition at line 1307 of file QuickTimeFileSink.cpp.

References size.

01307                           {
01308     size += addAtom_iods();
01309   }

iter reset (  ) 

setWord ( numEntriesPosition  ,
numEdits   
)

static Boolean timevalGE ( struct timeval const &  tv1,
struct timeval const &  tv2 
) [static]

Definition at line 463 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::completeOutputFile(), and SubsessionIOState::syncOK().

00464                                                     {
00465   return (unsigned)tv1.tv_sec > (unsigned)tv2.tv_sec
00466     || (tv1.tv_sec == tv2.tv_sec
00467         && (unsigned)tv1.tv_usec >= (unsigned)tv2.tv_usec);
00468 }

while ( chunk = NULL  ) 

Definition at line 1468 of file QuickTimeFileSink.cpp.

References addEdit, addEmptyEdit, chunk, QuickTimeFileSink::fCurrentIOState, ChunkDescriptor::fFrameDuration, ChunkDescriptor::fNextChunk, ChunkDescriptor::fNumFrames, SubsessionIOState::fOurSubsession, ChunkDescriptor::fPresentationTime, SubsessionIOState::fQTTimeScale, and MediaSubsession::numChannels().

01468                         {
01469     struct timeval const& chunkStartTime = chunk->fPresentationTime;
01470     double movieDurationOfEdit
01471       = (chunkStartTime.tv_sec - editStartTime.tv_sec)
01472       + (chunkStartTime.tv_usec - editStartTime.tv_usec)/1000000.0;
01473     trackDurationOfEdit = (currentTrackPosition-editTrackPosition)
01474       / (double)(fCurrentIOState->fQTTimeScale);
01475 
01476     double outOfSync = movieDurationOfEdit - trackDurationOfEdit;
01477 
01478     if (outOfSync > syncThreshold) {
01479       // The track's data is too short, so end this edit, add a new
01480       // 'empty' edit after it, and start a new edit
01481       // (at the current track posn.):
01482       if (trackDurationOfEdit > 0.0) addEdit(trackDurationOfEdit);
01483       addEmptyEdit(outOfSync);
01484 
01485       editStartTime = chunkStartTime;
01486       editTrackPosition = currentTrackPosition;
01487     } else if (outOfSync < -syncThreshold) {
01488       // The track's data is too long, so end this edit, and start
01489       // a new edit (pointing at the current track posn.):
01490       if (movieDurationOfEdit > 0.0) addEdit(movieDurationOfEdit);
01491 
01492       editStartTime = chunkStartTime;
01493       editTrackPosition = currentTrackPosition;
01494     }
01495 
01496     // Note the duration of this chunk:
01497     unsigned numChannels = fCurrentIOState->fOurSubsession.numChannels();
01498     chunkDuration = chunk->fNumFrames*chunk->fFrameDuration/numChannels;
01499     currentTrackPosition += chunkDuration;
01500 
01501     chunk = chunk->fNextChunk;
01502   }

while ( (subsession=iter.next())!  = NULL  ) 

Definition at line 1317 of file QuickTimeFileSink.cpp.

References QuickTimeFileSink::fCurrentIOState, SubsessionIOState::fHintTrackForUs, SubsessionIOState::hasHintTrack(), MediaSubsession::mediumName(), MediaSubsession::miscPtr, NULL, size, and subsession.

01317                                              {
01318     fCurrentIOState = (SubsessionIOState*)(subsession->miscPtr);
01319     if (fCurrentIOState == NULL) continue;
01320     if (strcmp(subsession->mediumName(), "audio") != 0) continue;
01321 
01322     size += addAtom_trak();
01323 
01324     if (fCurrentIOState->hasHintTrack()) {
01325       // This track has a hint track; output it also:
01326       fCurrentIOState = fCurrentIOState->fHintTrackForUs;
01327       size += addAtom_trak();
01328     }
01329   }


Variable Documentation

addAtomEnd

Definition at line 1605 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1596 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1592 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1586 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1582 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1573 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1561 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1547 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1541 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1535 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1531 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1429 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1395 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1376 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1369 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1344 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1302 of file QuickTimeFileSink.cpp.

ChunkDescriptor* chunk = fCurrentIOState->fHeadChunk

Definition at line 1467 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::addAtom_hdlr2(), SubsessionIOState::setFinalQTstate(), and while().

unsigned chunkDuration = 0

Definition at line 1465 of file QuickTimeFileSink.cpp.

unsigned currentTrackPosition = 0

Definition at line 1463 of file QuickTimeFileSink.cpp.

unsigned const duration = fCurrentIOState->fQTDurationT

Definition at line 1557 of file QuickTimeFileSink.cpp.

unsigned const duration = fCurrentIOState->fQTDurationM

Definition at line 1409 of file QuickTimeFileSink.cpp.

unsigned const duration = fMaxTrackDurationM

Definition at line 1355 of file QuickTimeFileSink.cpp.

Referenced by H263plusVideoStreamParser::CalculateDuration(), continueAfterPLAY(), RTSPServer::RTSPClientSession::handleCmd_PLAY(), RTSPServerSupportingHTTPStreaming::RTSPClientSessionSupportingHTTPStreaming::handleHTTPCmd_StreamingGET(), main(), MPEG1or2ProgramStreamFileDuration(), setupStreams(), SubsessionIOState::useFrame(), and SubsessionIOState::useFrameForHinting().

struct timeval editStartTime = fFirstDataTime

Definition at line 1461 of file QuickTimeFileSink.cpp.

unsigned editTrackPosition = 0

Definition at line 1462 of file QuickTimeFileSink.cpp.

fMVHD_durationPosn = TellFile64(fOutFid)

Definition at line 1356 of file QuickTimeFileSink.cpp.

fCurrentIOState fTKHD_durationPosn = TellFile64(fOutFid)

Definition at line 1410 of file QuickTimeFileSink.cpp.

SubsessionIOState* hintedTrack = fCurrentIOState->fTrackHintedByUs

Definition at line 1538 of file QuickTimeFileSink.cpp.

Referenced by SubsessionIOState::setHintTrack().

MediaSubsessionIterator iter(fInputSession)

SubsessionIOState::atomCreationFunc mediaInformationAtomCreator = fCurrentIOState->fQTMediaInformationAtomCreator

Definition at line 1577 of file QuickTimeFileSink.cpp.

unsigned numEdits = 0

Definition at line 1451 of file QuickTimeFileSink.cpp.

int64_t numEntriesPosition = TellFile64(fOutFid)

Definition at line 1449 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1604 of file QuickTimeFileSink.cpp.

size = addWord(0x80008000)

Definition at line 1603 of file QuickTimeFileSink.cpp.

size = addWord(0x00408000)

Definition at line 1602 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1599 of file QuickTimeFileSink.cpp.

size = addAtom_gmin()

Definition at line 1595 of file QuickTimeFileSink.cpp.

size = addWord(0x80008000)

Definition at line 1591 of file QuickTimeFileSink.cpp.

size = addWord(0x00408000)

Definition at line 1590 of file QuickTimeFileSink.cpp.

size = addWord(0x00000001)

Definition at line 1589 of file QuickTimeFileSink.cpp.

size = addZeroWords(2)

Definition at line 1585 of file QuickTimeFileSink.cpp.

size = addAtom_stbl()

Definition at line 1581 of file QuickTimeFileSink.cpp.

size = addAtom_dinf()

Definition at line 1580 of file QuickTimeFileSink.cpp.

size = addAtom_hdlr2()

Definition at line 1579 of file QuickTimeFileSink.cpp.

size = (this->*mediaInformationAtomCreator)()

Definition at line 1578 of file QuickTimeFileSink.cpp.

size = addArbitraryString(fCurrentIOState->fQTcomponentName)

Definition at line 1571 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1570 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1569 of file QuickTimeFileSink.cpp.

size = add4ByteString("appl")

Definition at line 1568 of file QuickTimeFileSink.cpp.

size = addWord(fCurrentIOState->fQTcomponentSubtype)

Definition at line 1566 of file QuickTimeFileSink.cpp.

size = add4ByteString("mhlr")

Definition at line 1565 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1564 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1560 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1558 of file QuickTimeFileSink.cpp.

size = addWord(timeScale)

Definition at line 1555 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1552 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1551 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1550 of file QuickTimeFileSink.cpp.

size = addAtom_minf()

Definition at line 1546 of file QuickTimeFileSink.cpp.

size = addAtom_hdlr()

Definition at line 1545 of file QuickTimeFileSink.cpp.

size = addAtom_mdhd()

Definition at line 1544 of file QuickTimeFileSink.cpp.

size = addWord(hintedTrack->fTrackID)

Definition at line 1540 of file QuickTimeFileSink.cpp.

size = addAtom_hint()

Definition at line 1534 of file QuickTimeFileSink.cpp.

size = addWord(0)

Definition at line 1450 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1445 of file QuickTimeFileSink.cpp.

size = addAtom_elst()

Definition at line 1428 of file QuickTimeFileSink.cpp.

size = addWord(0x40000000)

Definition at line 1418 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1417 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1416 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1415 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1414 of file QuickTimeFileSink.cpp.

size = addWord(0x01000000)

Definition at line 1413 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1412 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1411 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1407 of file QuickTimeFileSink.cpp.

size = addWord(fCurrentIOState->fTrackID)

Definition at line 1406 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1405 of file QuickTimeFileSink.cpp.

size = addAtom_mdia()

Definition at line 1391 of file QuickTimeFileSink.cpp.

size = addAtom_tkhd()

Definition at line 1379 of file QuickTimeFileSink.cpp.

size = addWord(0xFF0FFFFF)

Definition at line 1375 of file QuickTimeFileSink.cpp.

size = addWord(0x07004FFF)

Definition at line 1374 of file QuickTimeFileSink.cpp.

size = addWord(0x10808080)

Definition at line 1373 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1372 of file QuickTimeFileSink.cpp.

size = addWord(SubsessionIOState::fCurrentTrackNumber+1)

Definition at line 1368 of file QuickTimeFileSink.cpp.

size = addZeroWords(6)

Definition at line 1367 of file QuickTimeFileSink.cpp.

size = addWord(0x40000000)

Definition at line 1366 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1365 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1364 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1363 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1362 of file QuickTimeFileSink.cpp.

size = addZeroWords(2)

Definition at line 1361 of file QuickTimeFileSink.cpp.

size = addWord(0x01000000)

Definition at line 1360 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1359 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1357 of file QuickTimeFileSink.cpp.

size = addWord(movieTimeScale())

Definition at line 1353 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1349 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1348 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1347 of file QuickTimeFileSink.cpp.

size = addAtom_mvhd()

Definition at line 1305 of file QuickTimeFileSink.cpp.

size = add4ByteString("isom")

Definition at line 1301 of file QuickTimeFileSink.cpp.

size = add4ByteString("mp42")

Definition at line 1300 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1299 of file QuickTimeFileSink.cpp.

size = add4ByteString("mp42")

Definition at line 1298 of file QuickTimeFileSink.cpp.

MediaSubsession* subsession

Definition at line 1316 of file QuickTimeFileSink.cpp.

double const syncThreshold = 0.1

Definition at line 1458 of file QuickTimeFileSink.cpp.

unsigned const timeScale = fCurrentIOState->fQTTimeScale

Definition at line 1554 of file QuickTimeFileSink.cpp.

unsigned totalDurationOfEdits = 0

Definition at line 1452 of file QuickTimeFileSink.cpp.

trackDurationOfEdit = (double)chunkDuration/fCurrentIOState->fQTTimeScale

Definition at line 1506 of file QuickTimeFileSink.cpp.

double trackDurationOfEdit = 0.0

Definition at line 1464 of file QuickTimeFileSink.cpp.


Generated on Thu Feb 2 23:53:54 2012 for live by  doxygen 1.5.2