Home | History | Annotate | Download | only in src

Lines Matching refs:audioTrackPtr

566     mMp4FileDataPtr->audioTrackPtr = M4OSA_NULL;
655 if (mMp4FileDataPtr->audioTrackPtr == M4OSA_NULL)
657 mMp4FileDataPtr->audioTrackPtr = (M4MP4W_AudioTrackData
660 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr != M4OSA_NULL,
665 mMp4FileDataPtr->audioTrackPtr->Chunk = M4OSA_NULL;
666 mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable = M4OSA_NULL;
667 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable = M4OSA_NULL;
668 mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable = M4OSA_NULL;
669 mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable = M4OSA_NULL;
670 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS = M4OSA_NULL;
671 mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ = M4OSA_NULL;
672 mMp4FileDataPtr->audioTrackPtr->DSI = M4OSA_NULL;
678 mMp4FileDataPtr->audioTrackPtr->Chunk =
681 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->Chunk");
682 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->Chunk != M4OSA_NULL,
687 mMp4FileDataPtr->audioTrackPtr->Chunk =
689 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->Chunk");
690 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->Chunk != M4OSA_NULL,
692 mMp4FileDataPtr->audioTrackPtr->Chunk[0] = M4OSA_NULL;
694 mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable =
697 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->chunkOffsetTable");
698 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable
703 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS =
705 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->TABLE_STTS");
706 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->TABLE_STTS
708 mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedSttsBlocks = 1;
710 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable =
713 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->chunkSizeTable");
714 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkSizeTable
716 mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable =
719 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->chunkSampleNbTable");
720 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable
722 mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable =
725 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->chunkTimeMsTable");
726 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable
729 mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk = 0;
733 mMp4FileDataPtr->audioTrackPtr->MaxChunkSize =
735 mMp4FileDataPtr->audioTrackPtr->MaxAUSize =
737 mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS = 0;
738 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb = 0;
739 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize = 0;
740 mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb = 1;
741 mMp4FileDataPtr->audioTrackPtr->CommonData.timescale =
743 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[0] = 0; /*init*/
744 mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable[0] = 0; /*init*/
745 mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable[0] = 0; /*init*/
746 mMp4FileDataPtr->audioTrackPtr->currentChunk =
748 mMp4FileDataPtr->audioTrackPtr->currentPos = 0;
751 mMp4FileDataPtr->audioTrackPtr->currentStsc = 0;
755 mMp4FileDataPtr->audioTrackPtr->microState = M4MP4W_ready;
756 mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedStszBlocks = 0;
757 mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ = M4OSA_NULL;
759 mMp4FileDataPtr->audioTrackPtr->avgBitrate =
761 mMp4FileDataPtr->audioTrackPtr->maxBitrate =
767 mMp4FileDataPtr->audioTrackPtr->CommonData.trackType =
770 mMp4FileDataPtr->audioTrackPtr->sampleDuration =
777 mMp4FileDataPtr->audioTrackPtr->dsiSize =
781 mMp4FileDataPtr->audioTrackPtr->DSI =
783 (M4OSA_Char *)"audioTrackPtr->DSI");
784 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL,
787 (void *)mMp4FileDataPtr->audioTrackPtr->DSI,
793 mMp4FileDataPtr->audioTrackPtr->DSI =
795 mMp4FileDataPtr->audioTrackPtr->dsiSize =
802 mMp4FileDataPtr->audioTrackPtr->CommonData.trackType =
805 mMp4FileDataPtr->audioTrackPtr->sampleDuration =
812 mMp4FileDataPtr->audioTrackPtr->dsiSize =
816 mMp4FileDataPtr->audioTrackPtr->DSI =
818 (M4OSA_Char *)"audioTrackPtr->DSI");
819 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL,
822 (void *)mMp4FileDataPtr->audioTrackPtr->DSI,
828 mMp4FileDataPtr->audioTrackPtr->DSI =
830 mMp4FileDataPtr->audioTrackPtr->dsiSize =
840 mMp4FileDataPtr->audioTrackPtr->CommonData.trackType =
842 mMp4FileDataPtr->audioTrackPtr->sampleDuration =
845 mMp4FileDataPtr->audioTrackPtr->dsiSize =
848 if (mMp4FileDataPtr->audioTrackPtr->dsiSize != 0)
850 mMp4FileDataPtr->audioTrackPtr->DSI =
853 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->DSI");
854 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL,
857 (void *)mMp4FileDataPtr->audioTrackPtr->DSI,
1217 /* if (mMp4FileDataPtr->audioTrackPtr != M4OSA_NULL)*/
1220 ERR_CHECK((mMp4FileDataPtr->audioTrackPtr->microState == M4MP4W_ready),
1222 mMp4FileDataPtr->audioTrackPtr->microState = M4MP4W_writing;
1225 mMp4FileDataPtr->audioTrackPtr->Chunk[0] = (M4OSA_UChar
1226 *)M4OSA_32bitAlignedMalloc(mMp4FileDataPtr->audioTrackPtr->MaxChunkSize,
1227 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->Chunk[0]");
1228 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->Chunk[0] != M4OSA_NULL,
1256 20 * mMp4FileDataPtr->audioTrackPtr->MaxChunkSize
1257 / mMp4FileDataPtr->audioTrackPtr->MaxAUSize;
1261 < 20 *mMp4FileDataPtr->audioTrackPtr->MaxChunkSize
1262 / mMp4FileDataPtr->audioTrackPtr->MaxAUSize))
1362 safetyFileSize += mMp4FileDataPtr->audioTrackPtr->MaxChunkSize;
1415 if (mMp4FileDataPtr->audioTrackPtr == M4OSA_NULL)
1420 mMp4FileDataPtr->audioTrackPtr->currentChunk,
1423 scale_audio = 1000.0 / mMp4FileDataPtr->audioTrackPtr->CommonData.timescale;
1428 err = M4MP4W_putBlock(mMp4FileDataPtr->audioTrackPtr->Chunk[0],
1429 mMp4FileDataPtr->audioTrackPtr->currentPos,
1464 mMp4FileDataPtr->audioTrackPtr->
1465 chunkOffsetTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
1470 mMp4FileDataPtr->audioTrackPtr->currentPos;
1476 mMp4FileDataPtr->audioTrackPtr->
1477 chunkSizeTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
1478 mMp4FileDataPtr->audioTrackPtr->currentPos;
1479 mMp4FileDataPtr->audioTrackPtr->
1480 chunkTimeMsTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
1481 mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS;
1483 mMp4FileDataPtr->audioTrackPtr->currentChunk += 1;
1490 if (mMp4FileDataPtr->audioTrackPtr->currentChunk
1491 > mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk)
1494 mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk += 1;
1499 if (mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk
1508 if (((mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk)
1511 reallocNb = mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk
1516 mMp4FileDataPtr->audioTrackPtr->Chunk =
1518 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->Chunk,
1522 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->Chunk != M4OSA_NULL,
1527 mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable =
1529 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
1534 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable
1539 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable =
1541 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
1546 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkSizeTable
1549 mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable =
1551 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
1556 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable
1559 mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable =
1561 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
1566 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable
1573 mMp4FileDataPtr->audioTrackPtr->
1574 Chunk[mMp4FileDataPtr->audioTrackPtr->currentChunk] = (M4OSA_UChar
1575 *)M4OSA_32bitAlignedMalloc(mMp4FileDataPtr->audioTrackPtr->MaxChunkSize,
1576 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->currentChunk");
1577 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->
1578 Chunk[mMp4FileDataPtr->audioTrackPtr->currentChunk]
1586 *leftSpaceInChunk = mMp4FileDataPtr->audioTrackPtr->MaxChunkSize;
1587 mMp4FileDataPtr->audioTrackPtr->currentPos = 0;
1592 if (mMp4FileDataPtr->audioTrackPtr->currentStsc > 0)
1594 if (( mMp4FileDataPtr->audioTrackPtr->
1595 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->
1596 currentStsc] & 0xFFF) != (mMp4FileDataPtr->audioTrackPtr->
1597 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->currentStsc
1599 mMp4FileDataPtr->audioTrackPtr->currentStsc += 1;
1602 mMp4FileDataPtr->audioTrackPtr->currentStsc += 1;
1605 if (mMp4FileDataPtr->audioTrackPtr->currentStsc
1613 mMp4FileDataPtr->audioTrackPtr->
1614 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->currentStsc] =
1615 0 + (mMp4FileDataPtr->audioTrackPtr->currentChunk << 12);
1620 mMp4FileDataPtr->audioTrackPtr->
1621 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] = 0;
1628 mMp4FileDataPtr->audioTrackPtr->
1629 chunkTimeMsTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
1630 (M4OSA_UInt32)(mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS
1905 1000.0 / mMp4FileDataPtr->audioTrackPtr->CommonData.timescale;
1908 ERR_CHECK((mMp4FileDataPtr->audioTrackPtr->microState
1910 mMp4FileDataPtr->audioTrackPtr->microState = M4MP4W_writing_startAU;
1912 leftSpaceInChunk = mMp4FileDataPtr->audioTrackPtr->MaxChunkSize
1913 - mMp4FileDataPtr->audioTrackPtr->currentPos;
1916 mMp4FileDataPtr->audioTrackPtr->currentPos, leftSpaceInChunk);
1919 (M4OSA_UInt32)(( mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS
1920 * scale_audio) - mMp4FileDataPtr->audioTrackPtr->
1921 chunkTimeMsTable[mMp4FileDataPtr->audioTrackPtr->
1924 if ((leftSpaceInChunk < mMp4FileDataPtr->audioTrackPtr->MaxAUSize)
1954 auPtr->dataAddress = (M4OSA_MemAddr32)(mMp4FileDataPtr->audioTrackPtr->
1955 Chunk[mMp4FileDataPtr->audioTrackPtr->currentChunk]
1956 + mMp4FileDataPtr->audioTrackPtr->currentPos);
1961 (M4OSA_MemAddr32)(mMp4FileDataPtr->audioTrackPtr->Chunk[0]
1962 + mMp4FileDataPtr->audioTrackPtr->currentPos);
2109 1000.0 / mMp4FileDataPtr->audioTrackPtr->CommonData.timescale;
2122 + mMp4FileDataPtr->audioTrackPtr->currentPos
2123 > mMp4FileDataPtr->audioTrackPtr->MaxChunkSize,
2127 > mMp4FileDataPtr->audioTrackPtr->MaxAUSize,
2183 if ((mMp4FileDataPtr->audioTrackPtr->currentChunk != 0)
2184 && (mMp4FileDataPtr->audioTrackPtr->currentPos == 0))
2186 mMp4FileDataPtr->audioTrackPtr->currentChunk--;
2198 ERR_CHECK((mMp4FileDataPtr->audioTrackPtr->microState
2200 mMp4FileDataPtr->audioTrackPtr->microState = M4MP4W_writing;
2202 mMp4FileDataPtr->audioTrackPtr->currentPos += auPtr->size;
2205 - mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS;
2210 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb
2214 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize = auPtr->size;
2219 /*mMp4FileDataPtr->audioTrackPtr->sampleDuration = delta; */
2226 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize != 0)
2228 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize
2233 mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedStszBlocks =
2234 1 + mMp4FileDataPtr->audioTrackPtr->
2237 mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ =
2239 mMp4FileDataPtr->audioTrackPtr->
2242 M4MP4_WRITER, (M4OSA_Char *)"audioTrackPtr->TABLE_STSZ");
2243 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ
2247 i < mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
2250 mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ[i] =
2251 mMp4FileDataPtr->audioTrackPtr->
2254 mMp4FileDataPtr->audioTrackPtr->
2255 TABLE_STSZ[mMp4FileDataPtr->audioTrackPtr->
2257 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize =
2262 4 * mMp4FileDataPtr->audioTrackPtr->
2271 if (4 *(mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb + 3)
2272 >= mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedStszBlocks
2282 if (4 *mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb
2283 >= mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedStszBlocks
2286 mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedStszBlocks +=
2288 mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ =
2290 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
2291 TABLE_STSZ, ( mMp4FileDataPtr->audioTrackPtr->
2294 mMp4FileDataPtr->audioTrackPtr->
2297 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ
2303 mMp4FileDataPtr->audioTrackPtr->
2304 TABLE_STSZ[mMp4FileDataPtr->audioTrackPtr->
2312 if (delta > mMp4FileDataPtr->audioTrackPtr->sampleDuration)
2315 mMp4FileDataPtr->audioTrackPtr->sampleDuration = delta;
2318 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb
2321 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[0] = 1;
2322 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[1] = 0;
2323 mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb = 1;
2326 else if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb
2331 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[0] += 1;
2335 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[1] = delta;
2336 mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb += 1;
2342 lastSampleDur = mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2
2343 * (mMp4FileDataPtr->audioTrackPtr->
2348 if (8 *(mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb
2349 + 3) >= mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedSttsBlocks
2358 if (8 *mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb
2359 >= mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedSttsBlocks
2362 mMp4FileDataPtr->audioTrackPtr->nbOfAllocatedSttsBlocks += 1;
2363 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS =
2365 (M4OSA_MemAddr32)mMp4FileDataPtr->audioTrackPtr->
2366 TABLE_STTS, ( mMp4FileDataPtr->audioTrackPtr->
2369 mMp4FileDataPtr->audioTrackPtr->
2372 ERR_CHECK(mMp4FileDataPtr->audioTrackPtr->TABLE_STTS
2380 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2 *(
2381 mMp4FileDataPtr->audioTrackPtr->
2383 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2 *(
2384 mMp4FileDataPtr->audioTrackPtr->
2386 mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb +=
2393 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2 *(
2394 mMp4FileDataPtr->audioTrackPtr->
2398 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb += 1;
2401 mMp4FileDataPtr->audioTrackPtr->
2402 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->currentStsc] +=
2407 mMp4FileDataPtr->audioTrackPtr->
2408 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] +=
2414 mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS =
2760 *(M4OSA_Double)mMp4FileDataPtr->audioTrackPtr->MaxAUSize
2766 *(M4OSA_Double)mMp4FileDataPtr->audioTrackPtr->MaxAUSize
2792 && (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb
2793 != 0)); /*((mMp4FileDataPtr->audioTrackPtr != M4OSA_NULL) &&
2794 (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb != 0));*/
3085 if (mMp4FileDataPtr->audioTrackPtr != M4OSA_NULL)
3091 mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS
3092 * (1000.0 / mMp4FileDataPtr->audioTrackPtr->
3266 if ((M4OSA_NULL == mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable)
3267 || (M4OSA_NULL == mMp4FileDataPtr->audioTrackPtr->chunkSizeTable)
3269 == mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable)
3271 == mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable)
3272 || (M4OSA_NULL == mMp4FileDataPtr->audioTrackPtr->TABLE_STTS))
3281 mMp4FileDataPtr->audioTrackPtr->microState = M4MP4W_closed;
3283 if (mMp4FileDataPtr->audioTrackPtr->CommonData.trackType == M4SYS_kAAC)
3287 dsi = mMp4FileDataPtr->audioTrackPtr->dsiSize; /*variable size*/
3305 if (mMp4FileDataPtr->audioTrackPtr->CommonData.trackType
3321 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize == 0)
3323 if (M4OSA_NULL == mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ)
3331 M4MP4W_table32ToBE(mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ,
3332 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb);
3334 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3336 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3338 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3340 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3342 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3343 moovSize += 4 * mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb;
3349 for ( i = 0; i < mMp4FileDataPtr->audioTrackPtr->currentChunk; i++ )
3351 a_dataSize += mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[i];
3357 if (mMp4FileDataPtr->audioTrackPtr->currentPos > 0)
3359 err = M4MP4W_putBlock(mMp4FileDataPtr->audioTrackPtr->Chunk[0],
3360 mMp4FileDataPtr->audioTrackPtr->currentPos,
3370 mMp4FileDataPtr->audioTrackPtr->currentChunk,
3374 mMp4FileDataPtr->audioTrackPtr->
3375 chunkOffsetTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
3380 mMp4FileDataPtr->audioTrackPtr->currentPos;
3386 mMp4FileDataPtr->audioTrackPtr->
3387 chunkSizeTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
3388 mMp4FileDataPtr->audioTrackPtr->currentPos;
3390 mMp4FileDataPtr->audioTrackPtr->currentPos; /*add last chunk size*/
3393 if ((mMp4FileDataPtr->audioTrackPtr->currentChunk != 0)
3394 && (mMp4FileDataPtr->audioTrackPtr->currentPos == 0))
3396 mMp4FileDataPtr->audioTrackPtr->currentChunk--;
3400 if ((mMp4FileDataPtr->audioTrackPtr->
3401 chunkSampleNbTable[mMp4FileDataPtr->audioTrackPtr->
3404 mMp4FileDataPtr->audioTrackPtr->currentStsc--;
3409 a_trakDuration = mMp4FileDataPtr->audioTrackPtr->
3413 audioTrackPtr->CommonData.sttsTableEntryNb != 1)
3418 mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2
3419 *(mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb
3424 a_trakDuration += mMp4FileDataPtr->audioTrackPtr->TABLE_STTS[2
3425 * (mMp4FileDataPtr->audioTrackPtr->
3428 else if (0 == mMp4FileDataPtr->audioTrackPtr->CommonData.lastCTS)
3430 if (mMp4FileDataPtr->audioTrackPtr->CommonData.trackType
3433 if (12200 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3436 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3438 else if (10200 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3441 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3443 else if (7950 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3446 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3448 else if (7400 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3451 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3453 else if (6700 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3456 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3458 else if (5900 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3461 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3463 else if (5150 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3466 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3468 else if (4750 == mMp4FileDataPtr->audioTrackPtr->avgBitrate)
3471 * mMp4FileDataPtr->audioTrackPtr->sampleDuration;
3477 1000.0 / mMp4FileDataPtr->audioTrackPtr->CommonData.timescale;
3483 a_stscSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3484 a_stblSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3485 a_minfSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3486 a_mdiaSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3487 a_trakSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3488 moovSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentStsc;
3491 a_stcoSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3492 a_stblSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3493 a_minfSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3494 a_mdiaSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3495 a_trakSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3496 moovSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3501 a_stscSize += 12 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3502 a_stcoSize += 4 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3503 a_stblSize += 16 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3504 a_minfSize += 16 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3505 a_mdiaSize += 16 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3506 a_trakSize += 16 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3507 moovSize += 16 * mMp4FileDataPtr->audioTrackPtr->currentChunk;
3513 a_sttsSize = 16 + 8 * (mMp4FileDataPtr->audioTrackPtr->
3523 mMp4FileDataPtr->audioTrackPtr->
3524 chunkTimeMsTable[mMp4FileDataPtr->audioTrackPtr->currentChunk] =
3682 M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->CommonData.timescale,
3704 mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb - 1,
3707 M4MP4W_table32ToBE(mMp4FileDataPtr->audioTrackPtr->TABLE_STTS,
3708 2 * (mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb
3711 *)mMp4FileDataPtr->audioTrackPtr->TABLE_STTS,
3712 ( mMp4FileDataPtr->audioTrackPtr->CommonData.sttsTableEntryNb - 1)
3751 M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->CommonData.timescale
3777 M4MP4W_putBE24(mMp4FileDataPtr->audioTrackPtr->avgBitrate * 5,
3781 M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->maxBitrate,
3785 M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->avgBitrate,
3791 CLEANUPonERR(M4MP4W_putByte(mMp4FileDataPtr->audioTrackPtr->dsiSize,
3794 CLEANUPonERR(M4MP4W_putBlock(mMp4FileDataPtr->audioTrackPtr->DSI,
3795 mMp4FileDataPtr->audioTrackPtr->dsiSize,
3820 (M4OSA_UInt8)(mMp4FileDataPtr->audioTrackPtr->sampleDuration
3823 if (mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL)
3829 mMp4FileDataPtr->audioTrackPtr->DSI[localI]);
3857 (M4OSA_UInt8)(mMp4FileDataPtr->audioTrackPtr->sampleDuration
3860 if (mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL)
3866 mMp4FileDataPtr->audioTrackPtr->DSI[localI]);
3873 mMp4FileDataPtr->audioTrackPtr->DSI[localI]);
3887 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize,
3890 M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb,
3894 if (mMp4FileDataPtr->audioTrackPtr->CommonData.sampleSize == 0)
3897 *)mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ,
3898 mMp4FileDataPtr->audioTrackPtr->CommonData.sampleNb * 4,
3909 CLEANUPonERR(M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->currentStsc
3912 for ( i = 0; i <= mMp4FileDataPtr->audioTrackPtr->currentStsc; i++ )
3915 ( mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable[i]
3918 CLEANUPonERR(M4MP4W_putBE32((mMp4FileDataPtr->audioTrackPtr->
3927 CLEANUPonERR(M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->currentChunk
3930 for ( i = 0; i <= mMp4FileDataPtr->audioTrackPtr->currentChunk; i++ )
3935 mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable[i],
3948 CLEANUPonERR(M4MP4W_putBE32(mMp4FileDataPtr->audioTrackPtr->currentChunk
3953 for ( i = 0; i <= mMp4FileDataPtr->audioTrackPtr->currentChunk; i++ )
3957 a_trakOffset += mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[i];
3969 for ( i = 0; i <= mMp4FileDataPtr->audioTrackPtr->currentChunk; i++ )
3972 mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable[i],
4349 && (mMp4FileDataPtr->audioTrackPtr->currentChunk >= i))
4352 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[i];
4399 for ( i = 0; i <= mMp4FileDataPtr->audioTrackPtr->currentChunk;
4403 M4MP4W_putBlock(mMp4FileDataPtr->audioTrackPtr->Chunk[i],
4404 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[i],
4425 for ( i = 0; i <= max(mMp4FileDataPtr->audioTrackPtr->currentChunk,
4428 if (i <= mMp4FileDataPtr->audioTrackPtr->currentChunk)
4431 M4MP4W_putBlock(mMp4FileDataPtr->audioTrackPtr->Chunk[i],
4432 mMp4FileDataPtr->audioTrackPtr->chunkSizeTable[i],
4658 mMp4FileDataPtr->audioTrackPtr->MaxChunkSize;
4769 mMp4FileDataPtr->audioTrackPtr->MaxAUSize;
4880 mMp4FileDataPtr->audioTrackPtr->MaxChunkSize =
4905 mMp4FileDataPtr->audioTrackPtr->MaxChunkSize =
5028 /*if (mMp4FileDataPtr->audioTrackPtr == M4OSA_NULL)*/
5032 mMp4FileDataPtr->audioTrackPtr->MaxAUSize =
5051 mMp4FileDataPtr->audioTrackPtr->MaxAUSize =
5334 *state = mMp4FileDataPtr->audioTrackPtr->microState;