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 1297 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::addAtom_hdlr2().

#define addAtomEnd

Value:

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

Definition at line 1302 of file QuickTimeFileSink.cpp.

Referenced by QuickTimeFileSink::addAtom_hdlr2().

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

Definition at line 1451 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 1441 of file QuickTimeFileSink.cpp.

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

Definition at line 1452 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 1525 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().

01525                                                             {
01526     fCurrentIOState->fQTDurationM = totalDurationOfEdits;
01527     setWord(fCurrentIOState->fTKHD_durationPosn, totalDurationOfEdits);
01528 
01529     // Also, check whether the overall movie duration needs to change:
01530     if (totalDurationOfEdits > fMaxTrackDurationM) {
01531       fMaxTrackDurationM = totalDurationOfEdits;
01532       setWord(fMVHD_durationPosn, totalDurationOfEdits);
01533     }
01534 
01535     // Also, convert to track time scale:
01536     double scaleFactor
01537       = fCurrentIOState->fQTTimeScale/(double)movieTimeScale();
01538     fCurrentIOState->fQTDurationT
01539       = (unsigned)(totalDurationOfEdits*scaleFactor);
01540   }

if ( trackDurationOfEdit  ,
0.  0 
)

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

Definition at line 1429 of file QuickTimeFileSink.cpp.

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

01429                                                                           {
01430     size += addWord(fMovieWidth<<16); // Track width
01431     size += addWord(fMovieHeight<<16); // Track height
01432   } else {

if ( fCurrentIOState->  fQTEnableTrack  ) 

Definition at line 1408 of file QuickTimeFileSink.cpp.

References QuickTimeFileSink::addWord(), and size.

01408                                        {
01409     size += addWord(0x0000000F); // Version +  Flags
01410   } else {

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

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

Definition at line 1393 of file QuickTimeFileSink.cpp.

References size.

01394                                                            {
01395     size += addAtom_edts();
01396   }

if ( fGenerateMP4Format   ) 

Definition at line 1317 of file QuickTimeFileSink.cpp.

References size.

01317                           {
01318     size += addAtom_iods();
01319   }

iter reset (  ) 

setWord ( numEntriesPosition  ,
numEdits   
)

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

Definition at line 466 of file QuickTimeFileSink.cpp.

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

00467                                                     {
00468   return (unsigned)tv1.tv_sec > (unsigned)tv2.tv_sec
00469     || (tv1.tv_sec == tv2.tv_sec
00470         && (unsigned)tv1.tv_usec >= (unsigned)tv2.tv_usec);
00471 }

while ( chunk = NULL  ) 

Definition at line 1478 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().

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

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

Definition at line 1327 of file QuickTimeFileSink.cpp.

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

01327                                              {
01328     fCurrentIOState = (SubsessionIOState*)(subsession->miscPtr);
01329     if (fCurrentIOState == NULL) continue;
01330     if (strcmp(subsession->mediumName(), "audio") != 0) continue;
01331 
01332     size += addAtom_trak();
01333 
01334     if (fCurrentIOState->hasHintTrack()) {
01335       // This track has a hint track; output it also:
01336       fCurrentIOState = fCurrentIOState->fHintTrackForUs;
01337       size += addAtom_trak();
01338     }
01339   }


Variable Documentation

addAtomEnd

Definition at line 1615 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1606 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1602 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 1583 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1571 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1557 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1551 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1545 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1541 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1439 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1405 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1386 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1379 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1354 of file QuickTimeFileSink.cpp.

addAtomEnd

Definition at line 1312 of file QuickTimeFileSink.cpp.

ChunkDescriptor* chunk = fCurrentIOState->fHeadChunk

Definition at line 1477 of file QuickTimeFileSink.cpp.

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

unsigned chunkDuration = 0

Definition at line 1475 of file QuickTimeFileSink.cpp.

unsigned currentTrackPosition = 0

Definition at line 1473 of file QuickTimeFileSink.cpp.

unsigned const duration = fCurrentIOState->fQTDurationT

Definition at line 1567 of file QuickTimeFileSink.cpp.

unsigned const duration = fCurrentIOState->fQTDurationM

Definition at line 1419 of file QuickTimeFileSink.cpp.

unsigned const duration = fMaxTrackDurationM

Definition at line 1365 of file QuickTimeFileSink.cpp.

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

struct timeval editStartTime = fFirstDataTime

Definition at line 1471 of file QuickTimeFileSink.cpp.

unsigned editTrackPosition = 0

Definition at line 1472 of file QuickTimeFileSink.cpp.

fMVHD_durationPosn = TellFile64(fOutFid)

Definition at line 1366 of file QuickTimeFileSink.cpp.

fCurrentIOState fTKHD_durationPosn = TellFile64(fOutFid)

Definition at line 1420 of file QuickTimeFileSink.cpp.

SubsessionIOState* hintedTrack = fCurrentIOState->fTrackHintedByUs

Definition at line 1548 of file QuickTimeFileSink.cpp.

Referenced by SubsessionIOState::setHintTrack().

MediaSubsessionIterator iter(fInputSession)

SubsessionIOState::atomCreationFunc mediaInformationAtomCreator = fCurrentIOState->fQTMediaInformationAtomCreator

Definition at line 1587 of file QuickTimeFileSink.cpp.

unsigned numEdits = 0

Definition at line 1461 of file QuickTimeFileSink.cpp.

int64_t numEntriesPosition = TellFile64(fOutFid)

Definition at line 1459 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1614 of file QuickTimeFileSink.cpp.

size = addWord(0x80008000)

Definition at line 1613 of file QuickTimeFileSink.cpp.

size = addWord(0x00408000)

Definition at line 1612 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1609 of file QuickTimeFileSink.cpp.

size = addAtom_gmin()

Definition at line 1605 of file QuickTimeFileSink.cpp.

size = addWord(0x80008000)

Definition at line 1601 of file QuickTimeFileSink.cpp.

size = addWord(0x00408000)

Definition at line 1600 of file QuickTimeFileSink.cpp.

size = addWord(0x00000001)

Definition at line 1599 of file QuickTimeFileSink.cpp.

size = addZeroWords(2)

Definition at line 1595 of file QuickTimeFileSink.cpp.

size = addAtom_stbl()

Definition at line 1591 of file QuickTimeFileSink.cpp.

size = addAtom_dinf()

Definition at line 1590 of file QuickTimeFileSink.cpp.

size = addAtom_hdlr2()

Definition at line 1589 of file QuickTimeFileSink.cpp.

size = (this->*mediaInformationAtomCreator)()

Definition at line 1588 of file QuickTimeFileSink.cpp.

size = addArbitraryString(fCurrentIOState->fQTcomponentName)

Definition at line 1581 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1580 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1579 of file QuickTimeFileSink.cpp.

size = add4ByteString("appl")

Definition at line 1578 of file QuickTimeFileSink.cpp.

size = addWord(fCurrentIOState->fQTcomponentSubtype)

Definition at line 1576 of file QuickTimeFileSink.cpp.

size = add4ByteString("mhlr")

Definition at line 1575 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1574 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1570 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1568 of file QuickTimeFileSink.cpp.

size = addWord(timeScale)

Definition at line 1565 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1562 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1561 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1560 of file QuickTimeFileSink.cpp.

size = addAtom_minf()

Definition at line 1556 of file QuickTimeFileSink.cpp.

size = addAtom_hdlr()

Definition at line 1555 of file QuickTimeFileSink.cpp.

size = addAtom_mdhd()

Definition at line 1554 of file QuickTimeFileSink.cpp.

size = addWord(hintedTrack->fTrackID)

Definition at line 1550 of file QuickTimeFileSink.cpp.

size = addAtom_hint()

Definition at line 1544 of file QuickTimeFileSink.cpp.

size = addWord(0)

Definition at line 1460 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1455 of file QuickTimeFileSink.cpp.

size = addAtom_elst()

Definition at line 1438 of file QuickTimeFileSink.cpp.

size = addWord(0x40000000)

Definition at line 1428 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1427 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1426 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1425 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1424 of file QuickTimeFileSink.cpp.

size = addWord(0x01000000)

Definition at line 1423 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1422 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1421 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1417 of file QuickTimeFileSink.cpp.

size = addWord(fCurrentIOState->fTrackID)

Definition at line 1416 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1415 of file QuickTimeFileSink.cpp.

size = addAtom_mdia()

Definition at line 1401 of file QuickTimeFileSink.cpp.

size = addAtom_tkhd()

Definition at line 1389 of file QuickTimeFileSink.cpp.

size = addWord(0xFF0FFFFF)

Definition at line 1385 of file QuickTimeFileSink.cpp.

size = addWord(0x07004FFF)

Definition at line 1384 of file QuickTimeFileSink.cpp.

size = addWord(0x10808080)

Definition at line 1383 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1382 of file QuickTimeFileSink.cpp.

size = addWord(SubsessionIOState::fCurrentTrackNumber+1)

Definition at line 1378 of file QuickTimeFileSink.cpp.

size = addZeroWords(6)

Definition at line 1377 of file QuickTimeFileSink.cpp.

size = addWord(0x40000000)

Definition at line 1376 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1375 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1374 of file QuickTimeFileSink.cpp.

size = addZeroWords(3)

Definition at line 1373 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1372 of file QuickTimeFileSink.cpp.

size = addZeroWords(2)

Definition at line 1371 of file QuickTimeFileSink.cpp.

size = addWord(0x01000000)

Definition at line 1370 of file QuickTimeFileSink.cpp.

size = addWord(0x00010000)

Definition at line 1369 of file QuickTimeFileSink.cpp.

size = addWord(duration)

Definition at line 1367 of file QuickTimeFileSink.cpp.

size = addWord(movieTimeScale())

Definition at line 1363 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1359 of file QuickTimeFileSink.cpp.

size = addWord(fAppleCreationTime)

Definition at line 1358 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1357 of file QuickTimeFileSink.cpp.

size = addAtom_mvhd()

Definition at line 1315 of file QuickTimeFileSink.cpp.

size = add4ByteString("isom")

Definition at line 1311 of file QuickTimeFileSink.cpp.

size = add4ByteString("mp42")

Definition at line 1310 of file QuickTimeFileSink.cpp.

size = addWord(0x00000000)

Definition at line 1309 of file QuickTimeFileSink.cpp.

size = add4ByteString("mp42")

Definition at line 1308 of file QuickTimeFileSink.cpp.

MediaSubsession* subsession

Definition at line 1326 of file QuickTimeFileSink.cpp.

double const syncThreshold = 0.1

Definition at line 1468 of file QuickTimeFileSink.cpp.

unsigned const timeScale = fCurrentIOState->fQTTimeScale

Definition at line 1564 of file QuickTimeFileSink.cpp.

unsigned totalDurationOfEdits = 0

Definition at line 1462 of file QuickTimeFileSink.cpp.

trackDurationOfEdit = (double)chunkDuration/fCurrentIOState->fQTTimeScale

Definition at line 1516 of file QuickTimeFileSink.cpp.

double trackDurationOfEdit = 0.0

Definition at line 1474 of file QuickTimeFileSink.cpp.


Generated on Mon Apr 29 13:30:34 2013 for live by  doxygen 1.5.2