Bug 1378852 - Always return a value >= 0 for getBufferedPosition in GeckoHlsPlayer.
-1L will be returned if there's no estimated buffered position for now,
it implies that we should treat any returned negative value in the same way.
MozReview-Commit-ID: K1fpQKOmo3k
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
@@ -577,17 +577,17 @@ public class GeckoHlsPlayer implements B
if (DEBUG) { Log.d(LOGTAG, "getDuration : " + duration + "(Us)"); }
return duration;
}
@Override
public long getBufferedPosition() {
assertTrue(mPlayer != null);
// Value returned by getBufferedPosition() is in milliseconds.
- long bufferedPos = mPlayer.getBufferedPosition() * 1000;
+ long bufferedPos = Math.max(0L, mPlayer.getBufferedPosition() * 1000L);
if (DEBUG) { Log.d(LOGTAG, "getBufferedPosition : " + bufferedPos + "(Us)"); }
return bufferedPos;
}
@Override
public synchronized int getNumberOfTracks(TrackType trackType) {
if (DEBUG) { Log.d(LOGTAG, "getNumberOfTracks : type " + trackType); }
assertTrue(mTracksInfo != null);