support volume setting 73/291573/1
authorEunhye Choi <eunhae1.choi@samsung.com>
Tue, 18 Apr 2023 10:56:29 +0000 (19:56 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Tue, 18 Apr 2023 10:57:00 +0000 (19:57 +0900)
[Version] 0.0.22

- support volume setting via pulsesink

Change-Id: Ic0d8df756ae12d9c038dcd825f7ccd4d197672b2

packaging/libtrackrenderer.spec
src/trackrenderer.cpp

index 7dcd8af4b3ad83bff77cb7a8709dc01a981b6c9a..a5ae03b71e6313655a7ffe729a43e380856e8dff 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libtrackrenderer
 Summary:    new multimedia streaming player trackrenderer
-Version:    0.0.21
+Version:    0.0.22
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 1c85c1cf9a6c7e16ed54508da01dc900cbb4c77c..2105399641638e2a34b6bdbf2193ed0cd5b69e76 100644 (file)
@@ -2436,12 +2436,8 @@ void TrackRenderer::SetVolume_() {
     TRACKRENDERER_WARN("no audio sink");
     return;
   }
-  if (strstr(sink_name, "mmaudiosink")) {  // mmaudiosink or mmaudiosink2
-    pipeline_->SetProperty(Elements::kSinkAudio, "device-volume", volume_);
-  } else if (strstr(sink_name, "alsasink")) {
-    pipeline_->SetProperty(Elements::kSinkAudio, "alsa-volume", volume_);
-  } else if (strstr(sink_name, "pulsesink")) {
-    TRACKRENDERER_DEBUG("pulsesink, not set volume");
+  if (strstr(sink_name, "pulsesink")) {
+    pipeline_->SetProperty(Elements::kSinkAudio, "volume", (volume_/100.0));
   } else {
     TRACKRENDERER_WARN("unknow audio sink name: %s", sink_name);
   }
@@ -2453,7 +2449,13 @@ void TrackRenderer::CreateTbmBufferManager_(const Track* track) {
 }
 
 bool TrackRenderer::GetVolume(int* volume) {
+  gdouble vol;
   if (!volume) return false;
+  if (volume_ == kVolumeNone) {
+    pipeline_->GetProperty(Elements::kSinkAudio, "volume", &vol);
+    TRACKRENDERER_DEBUG("get default volume from sink = %f", vol);
+    volume_ = (int)(vol * 100);
+  }
   *volume = volume_;
   return true;
 }