[TTVD] Change paused to ended event 72/324972/3
authorJakub Gajownik <j.gajownik2@samsung.com>
Fri, 28 Feb 2025 13:19:21 +0000 (14:19 +0100)
committerBot Blink <blinkbot@samsung.com>
Thu, 29 May 2025 12:41:29 +0000 (12:41 +0000)
Event generation for kPlaybackFinish should be done after
video playback has ended. This CL changes existing paused
event to "ended" and fixes moment when it's triggered.

Bug: https://jira-eu.sec.samsung.net/browse/VDGAME-713
Change-Id: I46cc57df91ba080f1604dfc4ea99555542524ced
Signed-off-by: Jakub Gajownik <j.gajownik2@samsung.com>
media/filters/tizen/ttvd_video_renderer.cc
media/filters/tizen/ttvd_video_renderer_manager.cc
media/filters/tizen/ttvd_video_renderer_manager.h
media/mojo/mojom/ttvd_video_renderer_manager.mojom
tizen_src/ewk/efl_integration/content_browser_client_efl.cc

index 6ed7fe7cd13ed30c0c911854c86248bb929722e0..155c44b2079a1a6d07b688da6eca815b2b6a4183 100644 (file)
@@ -509,6 +509,7 @@ void TTvdVideoRenderer::OnPlaybackEnded() {
     UpdateStats_Locked(true);
   }
 
+  video_renderer_observer_->OnEnded();
   client_->OnEnded();
 }
 
@@ -652,7 +653,6 @@ void TTvdVideoRenderer::OnTimeStopped() {
     video_resource_helper_->SetPotentiallyPlaying(
         time_progressing_ || state_ == kLateInitialization);
   }
-  video_renderer_observer_->OnPaused();
 
   if (!sink_started_)
     return;
index 7aebfbdacd597105e730cdbe98f22be84ef08b39..9838753504f4a12f9aa2f3309543576c2dddcf13 100644 (file)
@@ -49,9 +49,9 @@ void TTvdVideoRendererManagerClient::OnPlaying() {
   }
 }
 
-void TTvdVideoRendererManagerClient::OnPaused() {
-  if (last_event_ != VideoRendererEvent::kPaused) {
-    EmitEvent(VideoRendererEvent::kPaused);
+void TTvdVideoRendererManagerClient::OnEnded() {
+  if (last_event_ != VideoRendererEvent::kEnded) {
+    EmitEvent(VideoRendererEvent::kEnded);
   }
 }
 
index 4d98143a81c517ea1afb1d33ba8ad44c26a5fb54..4b6f33df97d0bcbacbd191ba2851e6da68902011 100644 (file)
@@ -19,7 +19,7 @@ enum class VideoRendererEvent {
   kCreated,
   kResourceSelected,
   kPlaying,
-  kPaused,
+  kEnded,
   kDestroyed,
 };
 
@@ -43,7 +43,7 @@ class TTvdVideoRendererManagerClient : public mojom::TTvdVideoRendererObserver {
   // mojom::TTvdVideoRendererObserver implementation.
   void ResourceAcquired(absl::optional<mojom::VideoResource> resource) override;
   void OnPlaying() override;
-  void OnPaused() override;
+  void OnEnded() override;
   void RequestPause() override;
 
   void ForceResourceAllocation();
index 80eb52d664f157f1b98f54dd669304f34633f7db..1971826034514b34b276860d96cbb3f4cbca11aa 100644 (file)
@@ -9,7 +9,7 @@ import "media/mojo/mojom/ttvd_video_resource.mojom";
 interface TTvdVideoRendererObserver {
   ResourceAcquired(VideoResource? resource);
   OnPlaying();
-  OnPaused();
+  OnEnded();
 
   RequestPause();
 };
index b36c05c5ef429dea056b595310829fccad56e8a1..e9f4d6d568df71afae9db97680b7b851af190a96 100644 (file)
@@ -229,7 +229,7 @@ int EventToPlaybackState(media::VideoRendererEvent event) {
       return kPlaybackVideoReady;
     case media::VideoRendererEvent::kPlaying:
       return kPlaybackStart;
-    case media::VideoRendererEvent::kPaused:
+    case media::VideoRendererEvent::kEnded:
       return kPlaybackFinish;
     case media::VideoRendererEvent::kDestroyed:
       return kPlaybackStop;