Merge "Improve seeking for Xing header without TOC"
am: cd17b7453d
Change-Id: I7b779ab06770e8c15e143a3f33ecbab38ed03b04
diff --git a/media/extractors/mp3/XINGSeeker.cpp b/media/extractors/mp3/XINGSeeker.cpp
index 95ca556..01e06ca 100644
--- a/media/extractors/mp3/XINGSeeker.cpp
+++ b/media/extractors/mp3/XINGSeeker.cpp
@@ -44,7 +44,7 @@
}
bool XINGSeeker::getOffsetForTime(int64_t *timeUs, off64_t *pos) {
- if (mSizeBytes == 0 || !mTOCValid || mDurationUs < 0) {
+ if (mSizeBytes == 0 || mDurationUs < 0) {
return false;
}
@@ -54,7 +54,7 @@
fx = 0.0f;
} else if( percent >= 100.0f ) {
fx = 256.0f;
- } else {
+ } else if (mTOCValid) {
int a = (int)percent;
float fa, fb;
if ( a == 0 ) {
@@ -68,6 +68,8 @@
fb = 256.0f;
}
fx = fa + (fb-fa)*(percent-a);
+ } else {
+ fx = percent * 2.56f;
}
*pos = (int)((1.0f/256.0f)*fx*mSizeBytes) + mFirstFramePos;