summaryrefslogtreecommitdiffstats
path: root/media/ndk/NdkMediaExtractor.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-05-20 02:13:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-20 02:13:05 +0000
commit93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f (patch)
tree87551526160ae3969bf2e760968ffe5134f90464 /media/ndk/NdkMediaExtractor.cpp
parent00ddac6f47a066a545342a81c40425e3a153e8a1 (diff)
parent79e2b622702fb148ccff12d6f38643466555c4eb (diff)
downloadframeworks_av-93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f.zip
frameworks_av-93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f.tar.gz
frameworks_av-93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f.tar.bz2
Merge "Add docs, releaseOutputBufferAtTime, seekTo."
Diffstat (limited to 'media/ndk/NdkMediaExtractor.cpp')
-rw-r--r--media/ndk/NdkMediaExtractor.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/media/ndk/NdkMediaExtractor.cpp b/media/ndk/NdkMediaExtractor.cpp
index 563358f..b0a9590 100644
--- a/media/ndk/NdkMediaExtractor.cpp
+++ b/media/ndk/NdkMediaExtractor.cpp
@@ -150,6 +150,20 @@ bool AMediaExtractor_advance(AMediaExtractor *mData) {
}
EXPORT
+media_status_t AMediaExtractor_seekTo(AMediaExtractor *ex, int64_t seekPosUs, SeekMode mode) {
+ android::MediaSource::ReadOptions::SeekMode sfmode;
+ if (mode == AMEDIAEXTRACTOR_SEEK_PREVIOUS_SYNC) {
+ sfmode = android::MediaSource::ReadOptions::SEEK_PREVIOUS_SYNC;
+ } else if (mode == AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC) {
+ sfmode = android::MediaSource::ReadOptions::SEEK_CLOSEST_SYNC;
+ } else {
+ sfmode = android::MediaSource::ReadOptions::SEEK_NEXT_SYNC;
+ }
+
+ return translate_error(ex->mImpl->seekTo(seekPosUs, sfmode));
+}
+
+EXPORT
ssize_t AMediaExtractor_readSampleData(AMediaExtractor *mData, uint8_t *buffer, size_t capacity) {
//ALOGV("readSampleData");
sp<ABuffer> tmp = new ABuffer(buffer, capacity);
@@ -331,7 +345,7 @@ AMediaCodecCryptoInfo *AMediaExtractor_getSampleCryptoInfo(AMediaExtractor *ex)
numSubSamples,
(uint8_t*) key,
(uint8_t*) iv,
- mode,
+ (cryptoinfo_mode_t) mode,
(size_t*) cleardata,
(size_t*) crypteddata);
}