[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -6,7 +6,7 @@
<service name="tar_git">
<param name="url">https://github.com/mer-hybris/pulseaudio-modules-droid.git</param>
<param name="branch">master</param>
- <param name="revision">030586126c7646a0235afe12143856e2b90f53f6</param>
+ <param name="revision">af15b213184c28687e4fe54231b6b265cbe300dd</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-11.1.68.tar.bz2/README
^
|
@@ -295,6 +295,12 @@
not be done. This can result in random segfaults when playing audio.
As a workaround make the buffer memchunk writable before passing to
audio HAL.
+ * realcall
+ * Disabled by default.
+ * Some vendors apply custom realcall parameter to HAL device when
+ doing voicecall routing. If there is no voicecall audio you can
+ try enabling this quirk so that the realcall parameter is applied
+ when switching to voicecall profile.
For example, to disable input_atoi and enable close_input quirks, use module
argument
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-11.1.68.tar.bz2/configure.ac
^
|
@@ -174,8 +174,6 @@
AC_SUBST(PULSEAUDIO_CFLAGS)
AC_SUBST(PULSEAUDIO_LIBS)
-pulseaudiodir=`pkg-config --variable=prefix pulsecore`
-
#PKG_CHECK_MODULES([DROIDHEADERS], [android-headers >= 0.0.6])
# android-headers.pc has broken version field
PKG_CHECK_MODULES([DROIDHEADERS], [android-headers])
@@ -260,9 +258,10 @@
CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_FLAC])
CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_OPUS])
-AC_ARG_WITH([module-dir],
- AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${pulseaudiodir}/lib/pulse-${PA_MAJORMINOR}/modules/]),
- [modlibexecdir=$withval], [modlibexecdir="${pulseaudiodir}/lib/pulse-${PA_MAJORMINOR}/modules"])
+AC_ARG_WITH(
+ [module-dir],
+ AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
+ [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
AC_SUBST(modlibexecdir)
@@ -308,7 +307,6 @@
CFLAGS: ${CFLAGS}
prefix: ${prefix}
- PulseAudio prefix: ${pulseaudiodir}
modules directory: ${modlibexecdir}
Droid device ${droiddevice}
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-11.1.68.tar.bz2/src/common/droid-util.c
^
|
@@ -72,10 +72,7 @@
{ "unload_no_close", QUIRK_UNLOAD_NO_CLOSE },
{ "no_hw_volume", QUIRK_NO_HW_VOLUME },
{ "output_make_writable", QUIRK_OUTPUT_MAKE_WRITABLE },
-};
-
-struct pa_droid_quirks {
- bool enabled[QUIRK_COUNT];
+ { "realcall", QUIRK_REALCALL },
};
#define SLLIST_APPEND(t, head, item) \
@@ -1691,15 +1688,6 @@
return false;
}
-bool pa_droid_quirk(pa_droid_hw_module *hw, enum pa_droid_quirk_type quirk) {
- pa_assert(hw);
-
- if (hw->quirks && hw->quirks->enabled[quirk])
- return true;
- else
- return false;
-}
-
static void update_sink_types(pa_droid_hw_module *hw, pa_sink *ignore_sink) {
pa_sink *sink;
pa_sink *primary_sink = NULL;
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-11.1.68.tar.bz2/src/common/droid-util.h
^
|
@@ -294,9 +294,14 @@
QUIRK_UNLOAD_NO_CLOSE,
QUIRK_NO_HW_VOLUME,
QUIRK_OUTPUT_MAKE_WRITABLE,
+ QUIRK_REALCALL,
QUIRK_COUNT
};
+struct pa_droid_quirks {
+ bool enabled[QUIRK_COUNT];
+};
+
/* Open hardware module */
/* 'config' can be NULL if it is assumed that hw module with module_id already is open. */
/* if opening of hw_module succeeds, config ownership is transferred to hw_module and config
@@ -310,9 +315,12 @@
void pa_droid_hw_module_unlock(pa_droid_hw_module *hw);
bool pa_droid_quirk_parse(pa_droid_hw_module *hw, const char *quirks);
-bool pa_droid_quirk(pa_droid_hw_module *hw, enum pa_droid_quirk_type quirk);
void pa_droid_quirk_log(pa_droid_hw_module *hw);
+static inline bool pa_droid_quirk(pa_droid_hw_module *hw, enum pa_droid_quirk_type quirk) {
+ return hw->quirks && hw->quirks->enabled[quirk];
+}
+
/* Conversion helpers */
typedef enum {
CONV_FROM_PA,
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-11.1.68.tar.bz2/src/droid/module-droid-card.c
^
|
@@ -130,6 +130,9 @@
#define COMMUNICATION_PROFILE_NAME "communication"
#define COMMUNICATION_PROFILE_DESC "Communication mode"
+#define VENDOR_EXT_REALCALL_ON "realcall=on"
+#define VENDOR_EXT_REALCALL_OFF "realcall=off"
+
struct userdata;
typedef bool (*virtual_profile_event_cb)(struct userdata *u, pa_droid_profile *p, bool enabling);
@@ -451,12 +454,16 @@
pa_log_debug("Enable " VOICE_RECORD_PROFILE_NAME " profile.");
pa_card_profile_set_available(cp, PA_AVAILABLE_YES);
}
+ if (pa_droid_quirk(u->hw_module, QUIRK_REALCALL))
+ pa_droid_set_parameters(u->hw_module, VENDOR_EXT_REALCALL_ON);
} else {
pa_droid_sink_set_voice_control(am_output->sink, false);
if (cp && cp->available == PA_AVAILABLE_YES) {
pa_log_debug("Disable " VOICE_RECORD_PROFILE_NAME " profile.");
pa_card_profile_set_available(cp, PA_AVAILABLE_NO);
}
+ if (pa_droid_quirk(u->hw_module, QUIRK_REALCALL))
+ pa_droid_set_parameters(u->hw_module, VENDOR_EXT_REALCALL_OFF);
}
return true;
|