~diwic/pulseaudio/lp1227769

« back to all changes in this revision

Viewing changes to debian/patches/0204-Add-module-to-talk-to-the-Android-audio-hal-to-set-u.patch

  • Committer: Ricardo Salveti de Araujo
  • Date: 2013-09-25 16:07:23 UTC
  • Revision ID: ricardo.salveti@canonical.com-20130925160723-f1p4lpacbmetgzg1
Ubuntu phone: Suspend sinks/sources before tearing down voice calls
(LP: #1226298)

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
 
15
15
Index: pulseaudio-4.0/configure.ac
16
16
===================================================================
17
 
--- pulseaudio-4.0.orig/configure.ac    2013-09-10 12:39:44.595753924 -0400
18
 
+++ pulseaudio-4.0/configure.ac 2013-09-10 12:39:44.583753925 -0400
 
17
--- pulseaudio-4.0.orig/configure.ac    2013-09-24 16:05:50.300875383 +0200
 
18
+++ pulseaudio-4.0/configure.ac 2013-09-24 16:05:50.288875384 +0200
19
19
@@ -783,6 +783,21 @@
20
20
 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
21
21
 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
56
56
     Enable WaveOut:                ${ENABLE_WAVEOUT}
57
57
Index: pulseaudio-4.0/src/Makefile.am
58
58
===================================================================
59
 
--- pulseaudio-4.0.orig/src/Makefile.am 2013-09-10 12:39:44.595753924 -0400
60
 
+++ pulseaudio-4.0/src/Makefile.am      2013-09-10 12:39:44.587753925 -0400
 
59
--- pulseaudio-4.0.orig/src/Makefile.am 2013-09-24 16:05:50.300875383 +0200
 
60
+++ pulseaudio-4.0/src/Makefile.am      2013-09-24 16:05:50.292875384 +0200
61
61
@@ -1175,6 +1175,10 @@
62
62
                module-alsa-source.la \
63
63
                module-alsa-card.la
93
93
 module_alsa_sink_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
94
94
Index: pulseaudio-4.0/src/daemon/default.pa.in
95
95
===================================================================
96
 
--- pulseaudio-4.0.orig/src/daemon/default.pa.in        2013-09-10 12:39:44.595753924 -0400
97
 
+++ pulseaudio-4.0/src/daemon/default.pa.in     2013-09-10 12:39:44.587753925 -0400
 
96
--- pulseaudio-4.0.orig/src/daemon/default.pa.in        2013-09-24 16:05:50.300875383 +0200
 
97
+++ pulseaudio-4.0/src/daemon/default.pa.in     2013-09-24 16:05:50.292875384 +0200
98
98
@@ -78,6 +78,10 @@
99
99
 load-module module-detect
100
100
 .endif
109
109
Index: pulseaudio-4.0/src/modules/alsa/module-android-audio-hal.c
110
110
===================================================================
111
111
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
112
 
+++ pulseaudio-4.0/src/modules/alsa/module-android-audio-hal.c  2013-09-10 12:39:57.507753242 -0400
113
 
@@ -0,0 +1,504 @@
 
112
+++ pulseaudio-4.0/src/modules/alsa/module-android-audio-hal.c  2013-09-24 16:07:12.884872440 +0200
 
113
@@ -0,0 +1,514 @@
114
114
+/***
115
115
+  This file is part of PulseAudio.
116
116
+
454
454
+        pa_source *source;
455
455
+
456
456
+        PA_IDXSET_FOREACH(sink, card->sinks, state) {
 
457
+            pa_sink_state_t s = pa_sink_get_state(sink);
 
458
+            if (s == PA_SINK_RUNNING || s == PA_SINK_IDLE) {
 
459
+                pa_log_debug("Suspending sink %s (tearing down voice call)", sink->name);
 
460
+                pa_sink_suspend(sink, true, PA_SUSPEND_SESSION);
 
461
+            }
457
462
+/*            pa_log_error("Debug: sink %s, flags %d, set_volume %p", sink->name, sink->flags, sink->set_volume); */
458
463
+            if (sink->set_volume == sink_set_volume_cb)
459
464
+                sink->set_volume = NULL;
460
465
+        }
461
466
+
462
467
+        PA_IDXSET_FOREACH(source, card->sources, state) {
 
468
+            pa_source_state_t s = pa_source_get_state(source);
 
469
+            if (s == PA_SOURCE_RUNNING || s == PA_SOURCE_IDLE) {
 
470
+                pa_log_debug("Suspending source %s (tearing down voice call)", source->name);
 
471
+                pa_source_suspend(source, true, PA_SUSPEND_SESSION);
 
472
+            }
463
473
+/*            pa_log_error("Debug: sink %s, flags %d, set_volume %p", sink->name, sink->flags, sink->set_volume); */
464
474
+            if (source->set_mute == source_set_mute_cb)
465
475
+                source->set_mute = NULL;