NuPlayerRenderer: cancelAudioOffloadPauseTimeout() when onDisableOffloadAudio().

    This fix is for an offload track if paused and invalidated.
    when an offload track is paused, it would startAudioOffloadPauseTimeout().
    But if the offload track is invalidated and fall back to non offload mode,
    the timeout would not stop, and will tear down the track after timeout.
    Test: self-tested more then 50 times when fall back to non offload happens.
    Bug: 77182500

Test: bug is fixed.
Change-Id: I424fc96e6a5811afacd362409b472c2493c4bb71
Signed-off-by: andysu <andysu@android.com>
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index a762e76..3a28bbd 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -1703,6 +1703,8 @@
     ++mAudioDrainGeneration;
     if (mAudioRenderingStartGeneration != -1) {
         prepareForMediaRenderingStart_l();
+        // PauseTimeout is applied to offload mode only. Cancel pending timer.
+        cancelAudioOffloadPauseTimeout();
     }
 }
 
@@ -1805,6 +1807,12 @@
     if (mAudioTornDown) {
         return;
     }
+
+    // TimeoutWhenPaused is only for offload mode.
+    if (reason == kDueToTimeout && !offloadingAudio()) {
+        return;
+    }
+
     mAudioTornDown = true;
 
     int64_t currentPositionUs;