better playback time tracking in nuplayer
Fixes problem where playback time was being cleared as part of
a reset before media.metrics stats were logged.
Added code so that getMetrics() calls will return proper in-progress
playback time (previously, playback time was added to the metrics data
only at the end).
Added initialization of timestamp tracking pauses for rebuffering.
Bug: 74008613
Test: dumpsys media.metrics observation
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index fda69e8..9481234 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -99,6 +99,8 @@
const char *getDataSourceType();
+ void updateInternalTimers();
+
protected:
virtual ~NuPlayer();
@@ -180,12 +182,12 @@
Mutex mPlayingTimeLock;
int64_t mLastStartedPlayingTimeNs;
- void stopPlaybackTimer(const char *where);
+ void updatePlaybackTimer(bool stopping, const char *where);
void startPlaybackTimer(const char *where);
int64_t mLastStartedRebufferingTimeNs;
void startRebufferingTimer();
- void stopRebufferingTimer(bool exitingPlayback);
+ void updateRebufferingTimer(bool stopping, bool exitingPlayback);
int64_t mPreviousSeekTimeUs;