From 1a5c859016e743779e4db25855390b3ce523cd48 Mon Sep 17 00:00:00 2001 From: Robert Shih Date: Tue, 4 Aug 2015 18:07:44 -0700 Subject: NuPlayer:seek handling on kWhatAudioTearDown Restart from previous seek time on kWhatAudioTearDown if mRenderer didn't supply a useful positionUs. Bug: 22662968 Change-Id: Ic21957f676ba25fb92694f71093bed60b630390b --- media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp') diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index e9f3799..2e0d0d3 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1586,16 +1586,15 @@ void NuPlayer::Renderer::onAudioTearDown(AudioTearDownReason reason) { mAudioTornDown = true; int64_t currentPositionUs; - if (getCurrentPosition(¤tPositionUs) != OK) { - currentPositionUs = 0; + sp notify = mNotify->dup(); + if (getCurrentPosition(¤tPositionUs) == OK) { + notify->setInt64("positionUs", currentPositionUs); } mAudioSink->stop(); mAudioSink->flush(); - sp notify = mNotify->dup(); notify->setInt32("what", kWhatAudioTearDown); - notify->setInt64("positionUs", currentPositionUs); notify->setInt32("reason", reason); notify->post(); } -- cgit v1.1