[M120 Migration] Fix browser youtube volume is lower than youtube app volume issue 00/317800/2
authorwuxiaoliang <xliang.wu@samsung.com>
Wed, 8 Jan 2025 05:39:10 +0000 (13:39 +0800)
committerBot Blink <blinkbot@samsung.com>
Fri, 2 May 2025 05:09:10 +0000 (05:09 +0000)
follow old version to add GetAmplifiedVolume function

migrated from:
https://archive.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/304473/

Change-Id: I4ceb4cef7d091b6705c756aca1b2f0ff1aada796
Signed-off-by: wuxiaoliang <xliang.wu@samsung.com>
tizen_src/chromium_impl/content/browser/media/tizen_renderer_impl.cc
tizen_src/chromium_impl/content/browser/media/tizen_renderer_impl.h

index d9f2c579dd4c2bb376e5e5ef7e4bba9842de8f7e..a8dbd1d4de811bf8734c1d3f154344d9c595ddc5 100644 (file)
@@ -59,6 +59,19 @@ namespace content {
 // if app set transparent video, it should disable mixer mode
 // 24 rosep support 4 scaler, it should disable mixer mode
 int TizenRendererImpl::disable_mixer_mode_ = false;
+
+double GetAmplifiedVolume(double volume) {
+  static int gain_index_mapping_table[101] = {
+      0,  1,  2,  3,  4,  6,  7,  9,  12, 14, 16, 18, 20, 23, 26, 29, 32,
+      34, 36, 38, 41, 42, 44, 46, 47, 49, 51, 52, 53, 54, 56, 57, 58, 59,
+      61, 62, 63, 63, 64, 66, 67, 67, 68, 69, 69, 71, 71, 72, 73, 73, 74,
+      74, 76, 76, 77, 77, 78, 78, 78, 79, 79, 81, 81, 81, 82, 82, 82, 83,
+      83, 83, 84, 84, 84, 84, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 88,
+      88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89};
+
+  int control_index = volume * 100;
+  return (gain_index_mapping_table[control_index] * 0.01);
+}
 #endif
 
 TizenRendererImpl::TizenRendererImpl(
@@ -331,7 +344,7 @@ void TizenRendererImpl::SetPlayerPrepare() {
   }
 
   SetStreamInfo();
-  SetPlayerVolume();
+  SetPlayerVolume(volume_);
 
 #if defined(TIZEN_VIDEO_HOLE)
   media_player_->PrepareVideoHole();
@@ -743,19 +756,23 @@ void TizenRendererImpl::SetPlaybackRate(double playback_rate) {
 
 void TizenRendererImpl::SetVolume(float volume) {
   LOG_ID(INFO, player_id_) << "(" << static_cast<void*>(this) << ") "
-                           << __func__;
+                           << __func__ << ",volume:" << volume;
   DCHECK(task_runner_->BelongsToCurrentThread());
-  if (volume_ == volume)
-    return;
 
-  volume_ = volume;
+#if BUILDFLAG(IS_TIZEN_TV)
+  volume = GetAmplifiedVolume(volume);
+#endif
 
   // |SetVolume| could be called before initializing.
   if (media_player_)
-    SetPlayerVolume();
+    SetPlayerVolume(volume);
 }
 
-void TizenRendererImpl::SetPlayerVolume() {
+void TizenRendererImpl::SetPlayerVolume(float volume) {
+  if (volume_ == volume)
+    return;
+
+  volume_ = volume;
   media_player_->SetVolume(volume_);
 }
 
index cf3e18309cbcb61414931f01e33b2353c7951a02..abae8cf6c49fa558051031e1149c889966e48cb2 100644 (file)
@@ -237,7 +237,7 @@ class CONTENT_EXPORT TizenRendererImpl
   };
 
   void SetStreamInfo();
-  void SetPlayerVolume();
+  void SetPlayerVolume(float volume);
   void SetPlayerInitialize();
   void SetPlayerPrepare();
 #if defined(TIZEN_VIDEO_HOLE)