[HbbTV] MSE: Fix missing readyState update when buffering completes before prepare... 85/314885/2
authorJan Prusakowski <jan.prus@samsung.com>
Mon, 22 Jul 2024 06:04:00 +0000 (08:04 +0200)
committerBot Blink <blinkbot@samsung.com>
Mon, 22 Jul 2024 15:39:08 +0000 (15:39 +0000)
[Problem]
If buffering of data completes before player preparation is finished readyState is not updated.

[Solution]
When player preparation completes update buffering state so that readyState is updated.

[*KONA_ID]DF240614-01315 [PreCert][SCL][TV][24_OSU_TV(23_PontusM)][Italy][TivuSat][HbbTV(App)]RAIPLAY_DRM Playready content reproduction test : After end of Pre-roll, A/V of DRM content blocked with loading and black screen

Change-Id: I96f21314c1512d63b58990a7904c191ba3dd5cda
Signed-off-by: Jan Prusakowski <jan.prus@samsung.com>
tizen_src/chromium_impl/media/filters/media_player_esplusplayer.cc

index c2d46903f915c08ecc8fb3c3e878ba77d9e399f4..e0ddbc7a9c746e4a8df0779cefbb4a582701c104 100644 (file)
@@ -1212,6 +1212,13 @@ void MediaPlayerESPlusPlayer::OnPrepareComplete(bool result) {
                            << pending_seek_position_;
 
   PostPrepareComplete();
+
+  // Make sure readyState is updated in case buffering completed before
+  // prepare finishes.
+  OnBufferingStatusChanged(DemuxerStream::AUDIO,
+                           buffer_observer_->GetAudioStatus());
+  OnBufferingStatusChanged(DemuxerStream::VIDEO,
+                           buffer_observer_->GetVideoStatus());
 }
 
 void MediaPlayerESPlusPlayer::PostPrepareComplete() {