[TTVD] Always preload static videos 71/324971/3
authorJakub Gajownik <j.gajownik2@samsung.com>
Mon, 17 Feb 2025 11:04:56 +0000 (12:04 +0100)
committerBot Blink <blinkbot@samsung.com>
Thu, 29 May 2025 12:21:18 +0000 (12:21 +0000)
When video loaded into HTMLMediaElement is static video
(e.g mp4 or webm file), it takes long time to start playback
from the hidden state. This patch enforces video to prepare
pipeline even before HTML element is visible.

Bug: https://jira-eu.sec.samsung.net/browse/VDGAME-673
Change-Id: I9302c7f92c40414f94c03724e26f543a03911782
Signed-off-by: Jakub Gajownik <j.gajownik2@samsung.com>
media/filters/demuxer_manager.cc

index 7bdd74ee86e7472e90063f61ab3aca1fc1095b74..4af0b77e79f4afdbd8772664aac31a9b8752b805 100644 (file)
@@ -401,6 +401,16 @@ PipelineStatus DemuxerManager::CreateDemuxer(
     suspended_mode = Pipeline::StartType::kSuspendAfterMetadata;
   }
 
+#if defined(TIZEN_TV_UPSTREAM_MULTIMEDIA)
+  if (IsUpstreamArchitectureEnabled() &&
+      suspended_mode == Pipeline::StartType::kSuspendAfterMetadata) {
+    // For now always try to preload, even "static" videos. Resources are
+    // acquired after first data frames are delivered to pipeline, so suspending
+    // after metadata increases time from request play to actual playback.
+    suspended_mode = Pipeline::StartType::kNormal;
+  }
+#endif  // defined(TIZEN_TV_UPSTREAM_MULTIMEDIA)
+
 #if BUILDFLAG(ENABLE_HLS_DEMUXER)
   if (hls_fallback_ == HlsFallbackImplementation::kBuiltinHlsPlayer ||
       (base::FeatureList::IsEnabled(kBuiltInHlsPlayer) &&