Loading media/libstagefright/MPEG4Writer.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -1172,6 +1172,9 @@ void MPEG4Writer::Track::addOneStssTableEntry(size_t sampleId) { void MPEG4Writer::Track::addOneSttsTableEntry( size_t sampleCount, int32_t duration) { if (duration == 0) { LOGW("%d 0-duration samples found: %d", sampleCount); } SttsTableEntry sttsEntry(sampleCount, duration); mSttsTableEntries.push_back(sttsEntry); ++mNumSttsTableEntries; Loading Loading @@ -2001,9 +2004,6 @@ status_t MPEG4Writer::Track::threadEntry() { mTrackDurationUs = timestampUs; } mSampleSizes.push_back(sampleSize); ++mNumSamples; if (mNumSamples > 2) { // We need to use the time scale based ticks, rather than the // timestamp itself to determine whether we have to use a new // stts entry, since we may have rounding errors. Loading @@ -2013,6 +2013,10 @@ status_t MPEG4Writer::Track::threadEntry() { ((timestampUs * mTimeScale + 500000LL) / 1000000LL - (lastTimestampUs * mTimeScale + 500000LL) / 1000000LL); mSampleSizes.push_back(sampleSize); ++mNumSamples; if (mNumSamples > 2) { // Force the first sample to have its own stts entry so that // we can adjust its value later to maintain the A/V sync. if (mNumSamples == 3 || currDurationTicks != lastDurationTicks) { Loading Loading
media/libstagefright/MPEG4Writer.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -1172,6 +1172,9 @@ void MPEG4Writer::Track::addOneStssTableEntry(size_t sampleId) { void MPEG4Writer::Track::addOneSttsTableEntry( size_t sampleCount, int32_t duration) { if (duration == 0) { LOGW("%d 0-duration samples found: %d", sampleCount); } SttsTableEntry sttsEntry(sampleCount, duration); mSttsTableEntries.push_back(sttsEntry); ++mNumSttsTableEntries; Loading Loading @@ -2001,9 +2004,6 @@ status_t MPEG4Writer::Track::threadEntry() { mTrackDurationUs = timestampUs; } mSampleSizes.push_back(sampleSize); ++mNumSamples; if (mNumSamples > 2) { // We need to use the time scale based ticks, rather than the // timestamp itself to determine whether we have to use a new // stts entry, since we may have rounding errors. Loading @@ -2013,6 +2013,10 @@ status_t MPEG4Writer::Track::threadEntry() { ((timestampUs * mTimeScale + 500000LL) / 1000000LL - (lastTimestampUs * mTimeScale + 500000LL) / 1000000LL); mSampleSizes.push_back(sampleSize); ++mNumSamples; if (mNumSamples > 2) { // Force the first sample to have its own stts entry so that // we can adjust its value later to maintain the A/V sync. if (mNumSamples == 3 || currDurationTicks != lastDurationTicks) { Loading