| Index: chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java
|
| index dc10f6f68bf163b2c4166327d7f42ce2360592c9..b68099c38758da0d287639002af25f3f6d9166f1 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java
|
| @@ -11,6 +11,7 @@ import android.content.Intent;
|
| import android.content.IntentFilter;
|
| import android.net.Uri;
|
| import android.os.Bundle;
|
| +import android.os.SystemClock;
|
| import android.support.v7.media.MediaControlIntent;
|
| import android.support.v7.media.MediaItemMetadata;
|
| import android.support.v7.media.MediaItemStatus;
|
| @@ -665,7 +666,14 @@ public class DefaultMediaRouteController extends AbstractMediaRouteController {
|
| // update the position using the remote player's position
|
| // duration can possibly be -1 if it's unknown, so cap to 0
|
| long position = Math.min(Math.max(itemStatus.getContentPosition(), 0), duration);
|
| - long timestamp = itemStatus.getTimestamp();
|
| + // TODO(zqzhang): The GMS core currently uses SystemClock.uptimeMillis() as
|
| + // timestamp, which does not conform to the MediaRouter support library docs. See
|
| + // b/28378525 and
|
| + // http://developer.android.com/reference/android/support/v7/media/MediaItemStatus.html#getTimestamp().
|
| + // Override the timestamp with elapsedRealtime() by assuming the delay between the
|
| + // GMS core produces the MediaItemStatus and the code reaches here is short enough.
|
| + // long timestamp = itemStatus.getTimestamp();
|
| + long timestamp = SystemClock.elapsedRealtime();
|
| notifyDurationUpdated(duration);
|
| notifyPositionUpdated(position);
|
| mPositionExtrapolator.onPositionInfoUpdated(duration, position, timestamp);
|
|
|