<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5</id>
	<title>Звук в Андройде - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5&amp;action=history"/>
	<updated>2026-05-02T15:49:53Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5&amp;diff=580&amp;oldid=prev</id>
		<title>Zombah: add break lines</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5&amp;diff=580&amp;oldid=prev"/>
		<updated>2014-11-15T18:25:00Z</updated>

		<summary type="html">&lt;p&gt;add break lines&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 18:25, 15 ноября 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Строка 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Попробовать android-x86 и посмотреть все ли так ок со звуком или спросить на #android-x86 канале&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Попробовать android-x86 и посмотреть все ли так ок со звуком или спросить на #android-x86 канале&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Нужно разгрести инфу'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Нужно разгрести инфу''' &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://www.alsa-project.org/main/index.php/Detailed_SoC_changes_v1.0.24_v1.0.25      ключевое слово - HeadsetObserver&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://www.alsa-project.org/main/index.php/Detailed_SoC_changes_v1.0.24_v1.0.25      ключевое слово - HeadsetObserver &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://www.mail-archive.com/android-kernel@googlegroups.com/msg00233.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://www.mail-archive.com/android-kernel@googlegroups.com/msg00233.html &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://pastebin.com/xveMmB8H&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://pastebin.com/xveMmB8H &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://forum.xda-developers.com/archive/index.php/t-941027.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://forum.xda-developers.com/archive/index.php/t-941027.html &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://code.google.com/p/toggleheadset2/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://code.google.com/p/toggleheadset2/ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://lxr.free-electrons.com/source/drivers/staging/android/switch/switch_gpio.c?a=blackfin&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://lxr.free-electrons.com/source/drivers/staging/android/switch/switch_gpio.c?a=blackfin &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://source-android.frandroid.com/system/core/include/system/audio.h&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://source-android.frandroid.com/system/core/include/system/audio.h &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Попробовать'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Попробовать'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key paz00_wiki-ac100:diff::1.12:old-35:rev-580 --&gt;
&lt;/table&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5&amp;diff=35&amp;oldid=prev</id>
		<title>Unknown user в 08:13, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%B2_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B9%D0%B4%D0%B5&amp;diff=35&amp;oldid=prev"/>
		<updated>2014-10-15T08:13:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Звук=&lt;br /&gt;
На текущий момент используется ''Generic Audio'' завязанный на tinyalsa.&lt;br /&gt;
Есть два пути развития:&lt;br /&gt;
* Допиливать ''audio_hw.c'' до нормального состояния&lt;br /&gt;
* Перейти на использование чистой ''alsa'' из android-x86&lt;br /&gt;
** Попробовать android-x86 и посмотреть все ли так ок со звуком или спросить на #android-x86 канале&lt;br /&gt;
&lt;br /&gt;
'''Нужно разгрести инфу'''&lt;br /&gt;
http://www.alsa-project.org/main/index.php/Detailed_SoC_changes_v1.0.24_v1.0.25      ключевое слово - HeadsetObserver&lt;br /&gt;
http://www.mail-archive.com/android-kernel@googlegroups.com/msg00233.html&lt;br /&gt;
http://pastebin.com/xveMmB8H&lt;br /&gt;
http://forum.xda-developers.com/archive/index.php/t-941027.html&lt;br /&gt;
http://code.google.com/p/toggleheadset2/&lt;br /&gt;
http://lxr.free-electrons.com/source/drivers/staging/android/switch/switch_gpio.c?a=blackfin&lt;br /&gt;
http://source-android.frandroid.com/system/core/include/system/audio.h&lt;br /&gt;
&lt;br /&gt;
'''Попробовать'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% git diff&lt;br /&gt;
diff --git a/audio/audio_hw.c b/audio/audio_hw.c&lt;br /&gt;
index 50ff369..4c26ae7 100644&lt;br /&gt;
--- a/audio/audio_hw.c&lt;br /&gt;
+++ b/audio/audio_hw.c&lt;br /&gt;
@@ -71,6 +71,9 @@&lt;br /&gt;
 #define MIXER_I2S_OUT_CAPTURE_MUX                      &amp;quot;I2SOut Mux&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
+/* Audio device masks */&lt;br /&gt;
+#define AUDIO_DEVICE_OUT_HEADPHONE_MASK (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_WIRED_HEADSET)&lt;br /&gt;
+&lt;br /&gt;
 /* ALSA card */&lt;br /&gt;
 #define CARD_SND 0&lt;br /&gt;
 &lt;br /&gt;
@@ -716,10 +719,10 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)&lt;br /&gt;
                                (val &amp;amp; AUDIO_DEVICE_OUT_SPEAKER) ? 1 : 0);&lt;br /&gt;
 &lt;br /&gt;
                        mixer_ctl_set_value(adev-&amp;gt;mixer_ctls.headset_switch, 0,&lt;br /&gt;
-                               (val &amp;amp; AUDIO_DEVICE_OUT_WIRED_HEADPHONE) ? 1 : 0);&lt;br /&gt;
+                               (val &amp;amp; AUDIO_DEVICE_OUT_HEADPHONE_MASK) ? 1 : 0);&lt;br /&gt;
                                &lt;br /&gt;
                        LOGD(&amp;quot;Headphone out:%c, Speaker out:%c, HDMI out:%c, BT SCO: %c\n&amp;quot;,&lt;br /&gt;
-                               (val &amp;amp; AUDIO_DEVICE_OUT_WIRED_HEADPHONE) ? 'Y' : 'N',&lt;br /&gt;
+                               (val &amp;amp; AUDIO_DEVICE_OUT_HEADPHONE_MASK) ? 'Y' : 'N',&lt;br /&gt;
                                (val &amp;amp; AUDIO_DEVICE_OUT_SPEAKER) ? 'Y' : 'N',&lt;br /&gt;
                                (val &amp;amp; AUDIO_DEVICE_OUT_AUX_DIGITAL) ? 'Y' : 'N',&lt;br /&gt;
                                (val &amp;amp; AUDIO_DEVICE_OUT_ALL_SCO) ? 'Y' : 'N'&lt;br /&gt;
@@ -1970,7 +1973,7 @@ static int adev_open(const hw_module_t* module, const char* name,&lt;br /&gt;
        pthread_mutex_lock(&amp;amp;adev-&amp;gt;lock);&lt;br /&gt;
        set_route_by_array(adev-&amp;gt;mixer, defaults, 1);&lt;br /&gt;
        adev-&amp;gt;mode = AUDIO_MODE_NORMAL;&lt;br /&gt;
-       adev-&amp;gt;devices = AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_IN_BUILTIN_MIC | AUDIO_DEVICE_OUT_WIRED_HEADSET;&lt;br /&gt;
+       adev-&amp;gt;devices = AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_IN_BUILTIN_MIC | AUDIO_DEVICE_OUT_HEADPHONE_MASK;&lt;br /&gt;
 &lt;br /&gt;
        pthread_mutex_unlock(&amp;amp;adev-&amp;gt;lock);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
+ &amp;quot;Wired Headset Routing Toggle&amp;quot; и/или http://code.google.com/p/toggleheadset2/&lt;br /&gt;
&lt;br /&gt;
* Значения tinymix на beta1test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Number of controls: 67&lt;br /&gt;
ctl	type	num	name                                     value&lt;br /&gt;
0	INT	2	Speaker Playback Volume                  15 15&lt;br /&gt;
1	BOOL	2	Speaker Playback Switch                  On On&lt;br /&gt;
2	INT	2	Headphone Playback Volume                15 15&lt;br /&gt;
3	BOOL	2	Headphone Playback Switch                Off On&lt;br /&gt;
4	INT	2	Auxout Playback Volume                   31 31&lt;br /&gt;
5	BOOL	2	Auxout Playback Switch                   Off Off&lt;br /&gt;
6	INT	1	Voice DAC Playback Volume                16&lt;br /&gt;
7	BOOL	1	Voice DAC Playback Switch                On&lt;br /&gt;
8	INT	1	Phone Playback Volume                    23&lt;br /&gt;
9	INT	2	LineIn Playback Volume                   23 23&lt;br /&gt;
10	INT	2	Master Playback Volume                   63 63&lt;br /&gt;
11	BOOL	2	Master Playback Switch                   On On&lt;br /&gt;
12	INT	1	Mic1 Playback Volume                     23&lt;br /&gt;
13	INT	1	Mic2 Playback Volume                     23&lt;br /&gt;
14	INT	2	Rec Capture Volume                       31 31&lt;br /&gt;
15	INT	1	Mic 1 Boost Volume                       0&lt;br /&gt;
16	INT	1	Mic 2 Boost Volume                       0&lt;br /&gt;
17	INT	1	DMIC Boost Capture Volume                7&lt;br /&gt;
18	BOOL	1	DMIC En Capture Switch                   On&lt;br /&gt;
19	BOOL	1	DMIC PreFilter Capture Switch            On&lt;br /&gt;
20	ENUM	1	AB-D Amp Mux                             AB Amp&lt;br /&gt;
21	BOOL	1	Right Capture Mix MIC12REC_R Capture Switch Off&lt;br /&gt;
22	BOOL	1	Right Capture Mix MIC22REC_R Capture Switch Off&lt;br /&gt;
23	BOOL	1	Right Capture Mix LIR2REC Capture Switch Off&lt;br /&gt;
24	BOOL	1	Right Capture Mix PH2REC_R Capture Switch Off&lt;br /&gt;
25	BOOL	1	Right Capture Mix HPR2REC Capture Switch Off&lt;br /&gt;
26	BOOL	1	Right Capture Mix SPK2REC_R Capture Switch Off&lt;br /&gt;
27	BOOL	1	Right Capture Mix MONO2REC_R Capture Switch Off&lt;br /&gt;
28	BOOL	1	Left Capture Mix MIC12REC_L Capture Switch Off&lt;br /&gt;
29	BOOL	1	Left Capture Mix MIC22REC_L Capture Switch Off&lt;br /&gt;
30	BOOL	1	Left Capture Mix LIL2REC Capture Switch  Off&lt;br /&gt;
31	BOOL	1	Left Capture Mix PH2REC_L Capture Switch Off&lt;br /&gt;
32	BOOL	1	Left Capture Mix HPL2REC Capture Switch  Off&lt;br /&gt;
33	BOOL	1	Left Capture Mix SPK2REC_L Capture Switch Off&lt;br /&gt;
34	BOOL	1	Left Capture Mix MONO2REC_L Capture Switch Off&lt;br /&gt;
35	BOOL	1	DMICR Mix DMICR2ADC Capture Switch       Off&lt;br /&gt;
36	BOOL	1	DMICL Mix DMICL2ADC Capture Switch       On&lt;br /&gt;
37	BOOL	1	Speaker Mix LI2SPK Playback Switch       Off&lt;br /&gt;
38	BOOL	1	Speaker Mix PHONE2SPK Playback Switch    Off&lt;br /&gt;
39	BOOL	1	Speaker Mix MIC12SPK Playback Switch     Off&lt;br /&gt;
40	BOOL	1	Speaker Mix MIC22SPK Playback Switch     Off&lt;br /&gt;
41	BOOL	1	Speaker Mix DAC2SPK Playback Switch      On&lt;br /&gt;
42	BOOL	1	Speaker Mix VOICE2SPK Playback Switch    Off&lt;br /&gt;
43	BOOL	1	Mono Mix ADC2MONO_L Playback Switch      Off&lt;br /&gt;
44	BOOL	1	Mono Mix ADC2MONO_R Playback Switch      Off&lt;br /&gt;
45	BOOL	1	Mono Mix LI2MONO Playback Switch         Off&lt;br /&gt;
46	BOOL	1	Mono Mix MIC12MONO Playback Switch       Off&lt;br /&gt;
47	BOOL	1	Mono Mix MIC22MONO Playback Switch       Off&lt;br /&gt;
48	BOOL	1	Mono Mix DAC2MONO Playback Switch        Off&lt;br /&gt;
49	BOOL	1	Mono Mix VOICE2MONO Playback Switch      Off&lt;br /&gt;
50	BOOL	1	HPL Mix ADC2HP_L Playback Switch         Off&lt;br /&gt;
51	BOOL	1	HPL Mix DACL2HP Playback Switch          On&lt;br /&gt;
52	BOOL	1	HPR Mix ADC2HP_R Playback Switch         Off&lt;br /&gt;
53	BOOL	1	HPR Mix DACR2HP Playback Switch          On&lt;br /&gt;
54	BOOL	1	HP Mix LI2HP Playback Switch             Off&lt;br /&gt;
55	BOOL	1	HP Mix PHONE2HP Playback Switch          Off&lt;br /&gt;
56	BOOL	1	HP Mix MIC12HP Playback Switch           Off&lt;br /&gt;
57	BOOL	1	HP Mix MIC22HP Playback Switch           Off&lt;br /&gt;
58	BOOL	1	HP Mix VOICE2HP Playback Switch          Off&lt;br /&gt;
59	ENUM	1	I2SOut Mux                               ADC LR&lt;br /&gt;
60	ENUM	1	ADCR Mux                                 Stereo ADC&lt;br /&gt;
61	ENUM	1	SpeakerOut N Mux                         LN/-R&lt;br /&gt;
62	ENUM	1	Right Headphone Mux                      HP Right Mix&lt;br /&gt;
63	ENUM	1	Left Headphone Mux                       HP Left Mix&lt;br /&gt;
64	ENUM	1	SpeakerOut Mux                           HPOut Mix&lt;br /&gt;
65	ENUM	1	AuxOut Mux                               Vmid&lt;br /&gt;
66	BOOL	1	Int Spk Switch                           On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==tinyhal==&lt;br /&gt;
&lt;br /&gt;
* http://opensource.wolfsonmicro.com/content/tinyhal&lt;br /&gt;
** Tinyhal работает нормально, настроить его xml конфиг и проверить что все пути работают&lt;br /&gt;
*** Вывод на колонки работает нормально, вывод на наушники пока нет&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==headset detect==&lt;br /&gt;
* https://github.com/scanno/rel-15r7/blob/master/sound/soc/tegra/tegra_alc5624.c#L662&lt;br /&gt;
** Костыли с uevent больше не нужны, свежие андроиды поддерживают стандартное определение&lt;br /&gt;
наушников слушая /dev/input/event&lt;br /&gt;
&lt;br /&gt;
Включается это в оверлеях, вот так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- a/overlay/frameworks/base/core/res/res/values/config.xml&lt;br /&gt;
+++ b/overlay/frameworks/base/core/res/res/values/config.xml&lt;br /&gt;
@@ -314,6 +314,9 @@&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;!--  Maximum number of supported users --&amp;gt;&lt;br /&gt;
     &amp;lt;integer name=&amp;quot;config_multiuserMaximumUsers&amp;quot;&amp;gt;4&amp;lt;/integer&amp;gt;&lt;br /&gt;
-&lt;br /&gt;
+    &lt;br /&gt;
+    &amp;lt;!-- When true use the linux /dev/input/event subsystem to detect the switch changes&lt;br /&gt;
+         on the headphone/microphone jack. When false use the older uevent framework. --&amp;gt;&lt;br /&gt;
+    &amp;lt;bool name=&amp;quot;config_useDevInputEventForAudioJack&amp;quot;&amp;gt;true&amp;lt;/bool&amp;gt;&lt;br /&gt;
 &amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android audio test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Play:&lt;br /&gt;
tinyplay file.wav -D card -d device -p period_size defaults to 1024 -n  period_count defaults to 4&lt;br /&gt;
file.wav should be a WAV PCM typically 44100 Hz stereo 16-bit signed&lt;br /&gt;
&lt;br /&gt;
Capture:&lt;br /&gt;
tinycap file.wav -D card -d device -c channels=2 -r rate=44100 -b bits=16 -period_size=104 -n number of periods e.g. 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==cm-10.1 tinymixer out==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Number of controls: 67&lt;br /&gt;
ctl     type    num     name                                     value&lt;br /&gt;
0       INT     2       Speaker Playback Volume                  31 31&lt;br /&gt;
1       BOOL    2       Speaker Playback Switch                  On On&lt;br /&gt;
2       INT     2       Headphone Playback Volume                31 31&lt;br /&gt;
3       BOOL    2       Headphone Playback Switch                On On&lt;br /&gt;
4       INT     2       Auxout Playback Volume                   31 31&lt;br /&gt;
5       BOOL    2       Auxout Playback Switch                   Off Off&lt;br /&gt;
6       INT     1       Voice DAC Playback Volume                16&lt;br /&gt;
7       BOOL    1       Voice DAC Playback Switch                On&lt;br /&gt;
8       INT     1       Phone Playback Volume                    23&lt;br /&gt;
9       INT     2       LineIn Playback Volume                   23 23&lt;br /&gt;
10      INT     2       Master Playback Volume                   63 63&lt;br /&gt;
11      BOOL    2       Master Playback Switch                   On On&lt;br /&gt;
12      INT     1       Mic1 Playback Volume                     1&lt;br /&gt;
13      INT     1       Mic2 Playback Volume                     23&lt;br /&gt;
14      INT     2       Rec Capture Volume                       20 20&lt;br /&gt;
15      INT     1       Mic 1 Boost Volume                       1&lt;br /&gt;
16      INT     1       Mic 2 Boost Volume                       0&lt;br /&gt;
17      INT     1       DMIC Boost Capture Volume                3&lt;br /&gt;
18      BOOL    1       DMIC En Capture Switch                   On&lt;br /&gt;
19      BOOL    1       DMIC PreFilter Capture Switch            On&lt;br /&gt;
20      ENUM    1       AB-D Amp Mux                             AB Amp&lt;br /&gt;
21      BOOL    1       Right Capture Mix MIC12REC_R Capture Switch Off&lt;br /&gt;
22      BOOL    1       Right Capture Mix MIC22REC_R Capture Switch Off&lt;br /&gt;
23      BOOL    1       Right Capture Mix LIR2REC Capture Switch Off&lt;br /&gt;
24      BOOL    1       Right Capture Mix PH2REC_R Capture Switch Off&lt;br /&gt;
25      BOOL    1       Right Capture Mix HPR2REC Capture Switch Off&lt;br /&gt;
26      BOOL    1       Right Capture Mix SPK2REC_R Capture Switch Off&lt;br /&gt;
27      BOOL    1       Right Capture Mix MONO2REC_R Capture Switch Off&lt;br /&gt;
28      BOOL    1       Left Capture Mix MIC12REC_L Capture Switch On&lt;br /&gt;
29      BOOL    1       Left Capture Mix MIC22REC_L Capture Switch Off&lt;br /&gt;
30      BOOL    1       Left Capture Mix LIL2REC Capture Switch  Off&lt;br /&gt;
31      BOOL    1       Left Capture Mix PH2REC_L Capture Switch Off&lt;br /&gt;
32      BOOL    1       Left Capture Mix HPL2REC Capture Switch  Off&lt;br /&gt;
33      BOOL    1       Left Capture Mix SPK2REC_L Capture Switch Off&lt;br /&gt;
34      BOOL    1       Left Capture Mix MONO2REC_L Capture Switch Off&lt;br /&gt;
35      BOOL    1       DMICR Mix DMICR2ADC Capture Switch       Off&lt;br /&gt;
36      BOOL    1       DMICL Mix DMICL2ADC Capture Switch       On&lt;br /&gt;
37      BOOL    1       Speaker Mix LI2SPK Playback Switch       Off&lt;br /&gt;
38      BOOL    1       Speaker Mix PHONE2SPK Playback Switch    Off&lt;br /&gt;
39      BOOL    1       Speaker Mix MIC12SPK Playback Switch     Off&lt;br /&gt;
40      BOOL    1       Speaker Mix MIC22SPK Playback Switch     Off&lt;br /&gt;
41      BOOL    1       Speaker Mix DAC2SPK Playback Switch      On&lt;br /&gt;
42      BOOL    1       Speaker Mix VOICE2SPK Playback Switch    Off&lt;br /&gt;
43      BOOL    1       Mono Mix ADC2MONO_L Playback Switch      Off&lt;br /&gt;
44      BOOL    1       Mono Mix ADC2MONO_R Playback Switch      Off&lt;br /&gt;
45      BOOL    1       Mono Mix LI2MONO Playback Switch         Off&lt;br /&gt;
46      BOOL    1       Mono Mix MIC12MONO Playback Switch       Off&lt;br /&gt;
47      BOOL    1       Mono Mix MIC22MONO Playback Switch       Off&lt;br /&gt;
48      BOOL    1       Mono Mix DAC2MONO Playback Switch        Off&lt;br /&gt;
49      BOOL    1       Mono Mix VOICE2MONO Playback Switch      Off&lt;br /&gt;
50      BOOL    1       HPL Mix ADC2HP_L Playback Switch         Off&lt;br /&gt;
51      BOOL    1       HPL Mix DACL2HP Playback Switch          On&lt;br /&gt;
52      BOOL    1       HPR Mix ADC2HP_R Playback Switch         Off&lt;br /&gt;
53      BOOL    1       HPR Mix DACR2HP Playback Switch          On&lt;br /&gt;
54      BOOL    1       HP Mix LI2HP Playback Switch             Off&lt;br /&gt;
55      BOOL    1       HP Mix PHONE2HP Playback Switch          Off&lt;br /&gt;
56      BOOL    1       HP Mix MIC12HP Playback Switch           Off&lt;br /&gt;
57      BOOL    1       HP Mix MIC22HP Playback Switch           Off&lt;br /&gt;
58      BOOL    1       HP Mix VOICE2HP Playback Switch          Off&lt;br /&gt;
59      ENUM    1       I2SOut Mux                               ADC LR&lt;br /&gt;
60      ENUM    1       ADCR Mux                                 Stereo ADC&lt;br /&gt;
61      ENUM    1       SpeakerOut N Mux                         RP/+R&lt;br /&gt;
62      ENUM    1       Right Headphone Mux                      HP Right Mix&lt;br /&gt;
63      ENUM    1       Left Headphone Mux                       HP Left Mix&lt;br /&gt;
64      ENUM    1       SpeakerOut Mux                           HPOut Mix&lt;br /&gt;
65      ENUM    1       AuxOut Mux                               Vmid&lt;br /&gt;
66      BOOL    1       Int Spk Switch                           On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>