summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/include/SampleTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/include/SampleTable.h')
-rw-r--r--media/libstagefright/include/SampleTable.h18
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 &);