diff options
Diffstat (limited to 'media/libstagefright/include/SampleTable.h')
-rw-r--r-- | media/libstagefright/include/SampleTable.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/media/libstagefright/include/SampleTable.h b/media/libstagefright/include/SampleTable.h index 533ce84..f830690 100644 --- a/media/libstagefright/include/SampleTable.h +++ b/media/libstagefright/include/SampleTable.h @@ -60,14 +60,21 @@ public: uint32_t sampleIndex, off_t *offset, size_t *size, - uint32_t *decodingTime); + uint32_t *decodingTime, + bool *isSyncSample = NULL); enum { - kSyncSample_Flag = 1 + kFlagBefore, + kFlagAfter, + kFlagClosest }; - status_t findClosestSample( + status_t findSampleAtTime( uint32_t req_time, uint32_t *sample_index, uint32_t flags); + status_t findSyncSampleNear( + uint32_t start_sample_index, uint32_t *sample_index, + uint32_t flags); + status_t findThumbnailSample(uint32_t *sample_index); protected: @@ -99,6 +106,8 @@ private: off_t mSyncSampleOffset; uint32_t mNumSyncSamples; + uint32_t *mSyncSamples; + size_t mLastSyncSampleIndex; SampleIterator *mSampleIterator; @@ -111,9 +120,6 @@ private: friend struct SampleIterator; - status_t findClosestSyncSample_l( - uint32_t start_sample_index, uint32_t *sample_index); - status_t getSampleSize_l(uint32_t sample_index, size_t *sample_size); SampleTable(const SampleTable &); |