Merge "Use PublicFormat from libui"
diff --git a/media/extractors/mp4/MPEG4Extractor.cpp b/media/extractors/mp4/MPEG4Extractor.cpp
index eeca629..30873ae 100644
--- a/media/extractors/mp4/MPEG4Extractor.cpp
+++ b/media/extractors/mp4/MPEG4Extractor.cpp
@@ -143,6 +143,7 @@
uint8_t *mSrcBuffer;
bool mIsHeif;
+ bool mIsAudio;
sp<ItemTable> mItemTable;
size_t parseNALSize(const uint8_t *data) const;
@@ -4030,6 +4031,7 @@
}
mIsPcm = !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_RAW);
+ mIsAudio = !strncasecmp(mime, "audio/", 6);
if (mIsPcm) {
int32_t numChannels = 0;
@@ -4869,8 +4871,11 @@
findFlags = SampleTable::kFlagBefore;
}
- uint32_t syncSampleIndex;
- if (err == OK) {
+ uint32_t syncSampleIndex = sampleIndex;
+ // assume every audio sample is a sync sample. This works around
+ // seek issues with files that were incorrectly written with an
+ // empty or single-sample stss block for the audio track
+ if (err == OK && !mIsAudio) {
err = mSampleTable->findSyncSampleNear(
sampleIndex, &syncSampleIndex, findFlags);
}
diff --git a/media/ndk/Android.bp b/media/ndk/Android.bp
index 13a0a9e..f71237d 100644
--- a/media/ndk/Android.bp
+++ b/media/ndk/Android.bp
@@ -68,7 +68,7 @@
"libbinder",
"libmedia",
"libmedia_omx",
- "libmedia_jni",
+ "libmedia_jni_utils",
"libmediadrm",
"libmediaextractor",
"libstagefright",