alsa-sink/source: always set reconfiguration callback 69/178069/1
authorSangchul Lee <sangchul1011@gmail.com>
Fri, 27 Apr 2018 16:07:26 +0000 (01:07 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Tue, 8 May 2018 04:35:11 +0000 (13:35 +0900)
Reconfiguration callback should also be set in case of avoiding resampling
option. This patch set the callback for every case because the callback
has already conditions to leave if it is not needed.
Also unnecessary codes of setting alternate sample rate to 0 are removed.

Change-Id: I21adcc21c3c705722440b280d27d7d3140e907e9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
src/modules/alsa/alsa-sink.c
src/modules/alsa/alsa-source.c
src/pulsecore/sink.c
src/pulsecore/source.c

index 08e166b..640c2d4 100644 (file)
@@ -2365,8 +2365,7 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
         u->sink->set_port = sink_set_port_ucm_cb;
     else
         u->sink->set_port = sink_set_port_cb;
-    if (u->sink->alternate_sample_rate)
-        u->sink->reconfigure = sink_reconfigure_cb;
+    u->sink->reconfigure = sink_reconfigure_cb;
     u->sink->userdata = u;
 
     pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);
index 3f87a47..eddd810 100644 (file)
@@ -2042,8 +2042,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
         u->source->set_port = source_set_port_ucm_cb;
     else
         u->source->set_port = source_set_port_cb;
-    if (u->source->alternate_sample_rate)
-        u->source->reconfigure = source_reconfigure_cb;
+    u->source->reconfigure = source_reconfigure_cb;
     u->source->userdata = u;
 
     pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);
index fa729f9..a810838 100644 (file)
@@ -337,11 +337,6 @@ pa_sink* pa_sink_new(
     else
         s->alternate_sample_rate = s->core->alternate_sample_rate;
 
-    if (s->sample_spec.rate == s->alternate_sample_rate) {
-        pa_log_warn("Default and alternate sample rates are the same.");
-        s->alternate_sample_rate = 0;
-    }
-
     s->inputs = pa_idxset_new(NULL, NULL);
     s->n_corked = 0;
     s->input_to_master = NULL;
@@ -1599,9 +1594,9 @@ int pa_sink_reconfigure(pa_sink *s, pa_sample_spec *spec, bool passthrough) {
             default_rate_is_usable = true;
         if (default_rate % 4000 == 0 && spec->rate % 4000 == 0)
             default_rate_is_usable = true;
-        if (alternate_rate && alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
+        if (alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
             alternate_rate_is_usable = true;
-        if (alternate_rate && alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
+        if (alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
             alternate_rate_is_usable = true;
 
         if (alternate_rate_is_usable && !default_rate_is_usable)
index ee753c5..52bac2d 100644 (file)
@@ -324,11 +324,6 @@ pa_source* pa_source_new(
     else
         s->alternate_sample_rate = s->core->alternate_sample_rate;
 
-    if (s->sample_spec.rate == s->alternate_sample_rate) {
-        pa_log_warn("Default and alternate sample rates are the same.");
-        s->alternate_sample_rate = 0;
-    }
-
     s->outputs = pa_idxset_new(NULL, NULL);
     s->n_corked = 0;
     s->monitor_of = NULL;
@@ -1179,9 +1174,9 @@ int pa_source_reconfigure(pa_source *s, pa_sample_spec *spec, bool passthrough)
             default_rate_is_usable = true;
         if (default_rate % 4000 == 0 && spec->rate % 4000 == 0)
             default_rate_is_usable = true;
-        if (alternate_rate && alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
+        if (alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
             alternate_rate_is_usable = true;
-        if (alternate_rate && alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
+        if (alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
             alternate_rate_is_usable = true;
 
         if (alternate_rate_is_usable && !default_rate_is_usable)