[meego-commits] 10979: Changes to devel:multimedia:pa-0.9.19/pulseaudio
fbarthesx
no_reply at build.meego.com
Thu Dec 16 16:04:37 UTC 2010
Hi,
I have made the following changes to pulseaudio in project devel:multimedia:pa-0.9.19. Please review and accept ASAP.
Thank You,
fbarthesx
[This message was auto-generated]
---
Request #10979:
submit: home:fbarthesx:branches:devel:multimedia:pa-0.9.19/pulseaudio(r8)(cleanup) -> devel:multimedia:pa-0.9.19/pulseaudio
Message:
update of pulseaudio delivery (BMC#11252)
State: new 2010-12-16T08:04:37 fbarthesx
Comment: None
changes files:
--------------
--- pulseaudio.changes
+++ pulseaudio.changes
@@ -0,0 +1,7 @@
+* Thr 16 Dec 2010 Fabien Barthes <fabienx.barthes at intel.com> - 0.9.19
+- Added patches for building specific mfld packages of pulseaudio (BMC#11252)
+
+* Mon 13 Dec 2010 Fabien Barthes <fabienx.barthes at intel.com> - 0.9.19
+- Patches-for-sync-with-OBS-pa-0.9.19 (BMC#11176)
+ pa-0.9.19-mfld-sync-with-official-pa.path
+
new:
----
pa-0.9.19-mfld-build-files.patch
pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
pa-0.9.19-mfld-folder-alsa.patch
pa-0.9.19-mfld-folder-daemon.patch
pa-0.9.19-mfld-folder-modules-dbus.patch
pa-0.9.19-mfld-folder-modules.patch
pa-0.9.19-mfld-folder-pulse.patch
pa-0.9.19-mfld-folder-pulsecore.patch
pa-0.9.19-mfld-folder-src.patch
pa-0.9.19-mfld-pulseaudio-pc-in.patch
pa-0.9.19-mfld-sync-with-official-pa.path
spec files:
-----------
--- pulseaudio.spec
+++ pulseaudio.spec
@@ -28,6 +28,18 @@
Patch5: pa-0.9.19-svolume-arm.patch
Patch6: pa-0.9.19-fix-build-with-fweb.patch
Patch7: fix-122-CVE-insecure-temporary-file-creation.patch
+Patch8: pa-0.9.19-mfld-sync-with-official-pa.path
+Patch9: pa-0.9.19-mfld-folder-daemon.patch
+Patch10: pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
+Patch11: pa-0.9.19-mfld-folder-alsa.patch
+Patch12: pa-0.9.19-mfld-folder-modules.patch
+Patch13: pa-0.9.19-mfld-folder-modules-dbus.patch
+Patch14: pa-0.9.19-mfld-folder-pulse.patch
+Patch15: pa-0.9.19-mfld-folder-pulsecore.patch
+Patch16: pa-0.9.19-mfld-folder-src.patch
+Patch17: pa-0.9.19-mfld-build-files.patch
+Patch18: pa-0.9.19-mfld-pulseaudio-pc-in.patch
+%define pulseversion 0.9.19
Requires: udev >= 145-3
Requires: rtkit
Requires(post): /sbin/ldconfig
@@ -48,6 +60,7 @@
BuildRequires: pkgconfig(bluez)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(libudev)
+BuildRequires: xcb-util-devel
BuildRequires: m4
BuildRequires: libtool-ltdl-devel
BuildRequires: libtool
@@ -82,8 +95,11 @@
%package module-x11
Summary: PulseAudio components needed for starting x11 User session
Group: System/Libraries
+Provides: pulseaudio-module-x11 = %{pulseversion}
Requires: %{name} = %{version}-%{release}
Requires: pulseaudio-startup
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
%description module-x11
Description: %{summary}
@@ -91,6 +107,7 @@
%package devel
Summary: PulseAudio Development headers and libraries
Group: Development/Libraries
+Provides: pulseaudio-devel = %{pulseversion}
Requires: %{name} = %{version}-%{release}
%description devel
@@ -101,21 +118,44 @@
%setup -q -n %{name}-%{version}
# pa-0.9.14-helper-assert.patch
-%patch0 -p1
+#%patch0 -p1
# pa-0.9.18-volume-ramping.patch
-%patch1 -p1
+#%patch1 -p1
# pa-0.9.15-wait-for-hal.patch
-%patch2 -p1
+#%patch2 -p1
# pa-0.9.19-desktop.patch
-%patch3 -p1
+#%patch3 -p1
# hfp-gateway-support.patch
-%patch4 -p1
+#%patch4 -p1
# pa-0.9.19-svolume-arm.patch
-%patch5 -p1
+#%patch5 -p1
# pa-0.9.19-fix-build-with-fweb.patch
-%patch6 -p1
+#%patch6 -p1
# fix-122-CVE-insecure-temporary-file-creation.patch
-%patch7 -p1
+#%patch7 -p1
+# Pulseaudio-Patches-for-sync-with-OBS-pa-0.9.19
+%patch8 -p1
+# pa-0.9.19-mfld-folder-daemon.patch
+%patch9 -p1
+# pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
+%patch10 -p1
+# pa-0.9.19-mfld-folder-alsa.patch
+%patch11 -p1
+# pa-0.9.19-mfld-folder-modules.patch
+%patch12 -p1
+# pa-0.9.19-mfld-folder-modules-dbus.patch
+%patch13 -p1
+# pa-0.9.19-mfld-folder-pulse.patch
+%patch14 -p1
+# pa-0.9.19-mfld-folder-pulsecore.patch
+%patch15 -p1
+# pa-0.9.19-mfld-folder-src.patch
+%patch16 -p1
+# pa-0.9.19-mfld-build-files.patch
+%patch17 -p1
+# pa-0.9.19-mfld-pulseaudio-pc-in.patch
+%patch18 -p1
+
# >> setup
# << setup
@@ -124,22 +164,26 @@
# >> build pre
# << build pre
-%reconfigure --disable-static \
- --disable-rpath \
- --disable-per-user-esound-socket \
- --disable-lirc \
- --disable-tcpwrap \
- --disable-asyncns \
- --disable-jack \
- --disable-solaris \
- --disable-atomic-arm-linux-helpers \
- --without-caps \
- --disable-openssl \
- --disable-hal \
- --disable-oss-output \
- --disable-oss-wrapper \
- --with-database=simple \
- --disable-avahi
+
+
+%reconfigure
+# --disable-static \
+# --disable-rpath \
+# --disable-per-user-esound-socket \
+# --disable-lirc \
+# --disable-tcpwrap \
+# --disable-asyncns \
+# --disable-jack \
+# --disable-solaris \
+# --disable-atomic-arm-linux-helpers \
+# --without-caps \
+# --disable-openssl \
+# --disable-hal \
+# --disable-oss-output \
+# --disable-oss-wrapper \
+# --with-database=simple \
+# --disable-avahi
+
make %{?jobs:-j%jobs}
@@ -164,10 +208,15 @@
install -m 644 %{SOURCE5} %{buildroot}/etc/skel/.pulse/default.pa
install -m 644 %{SOURCE6} %{buildroot}/etc/skel/.pulse/daemon.conf
+install -d %{buildroot}/usr/include/pulse-modules-headers/pulsecore/
+install -m 644 src/pulsecore/*.h %{buildroot}/usr/include/pulse-modules-headers/pulsecore/
+
+
+
# << install post
%find_lang pulseaudio
%fdupes %{buildroot}/%{_datadir}
-
+%fdupes %{buildroot}/usr/include/
%post -p /sbin/ldconfig
@@ -208,102 +257,112 @@
%config(noreplace) %{_sysconfdir}/pulse/default.pa
%config(noreplace) %{_sysconfdir}/pulse/system.pa
%config(noreplace) %{_sysconfdir}/pulse/client.conf
+%exclude %config(noreplace) %{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop
%exclude %config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf
%config %{_sysconfdir}/security/limits.d/90-pulse.conf
#%{_bindir}/pabrowse
%{_bindir}/pacat
%{_bindir}/pacmd
%{_bindir}/pactl
+%{_bindir}/padsp
%{_bindir}/paplay
%{_bindir}/parec
%{_bindir}/pasuspender
%{_bindir}/esdcompat
%{_bindir}/pulseaudio
+%{_bindir}/start-pulseaudio-kde
%dir %{_libexecdir}/pulse
%{_libexecdir}/pulse/proximity-helper
%{_libexecdir}/pulse/gconf-helper
-%{_libdir}/libpulsecommon-0.9.19.so
-%{_libdir}/libpulsecore-0.9.19.so
+%exclude %{_libexecdir}/pulse-tests/
+%{_libdir}/libpulsecommon-%{pulseversion}.so
+%{_libdir}/libpulsecore-%{pulseversion}.so
+%{_libdir}/libpulsedsp.so
%{_libdir}/libpulse.so.*
%{_libdir}/libpulse-simple.so.*
%{_libdir}/libpulse-mainloop-glib.so.*
#%{_libdir}/libpulse-browse.so.*
-%{_libdir}/pulse-0.9.19/modules/libalsa-util.so
-#%{_libdir}/pulse-0.9.19/modules/libavahi-wrap.so
-%{_libdir}/pulse-0.9.19/modules/libbluetooth-ipc.so
-%{_libdir}/pulse-0.9.19/modules/libbluetooth-sbc.so
-%{_libdir}/pulse-0.9.19/modules/libbluetooth-util.so
-%{_libdir}/pulse-0.9.19/modules/libcli.so
-%{_libdir}/pulse-0.9.19/modules/libprotocol-cli.so
-%{_libdir}/pulse-0.9.19/modules/libprotocol-esound.so
-%{_libdir}/pulse-0.9.19/modules/libprotocol-http.so
-%{_libdir}/pulse-0.9.19/modules/libprotocol-native.so
-%{_libdir}/pulse-0.9.19/modules/libprotocol-simple.so
-%{_libdir}/pulse-0.9.19/modules/librtp.so
-%{_libdir}/pulse-0.9.19/modules/module-alsa-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-alsa-source.so
-%{_libdir}/pulse-0.9.19/modules/module-alsa-card.so
-%{_libdir}/pulse-0.9.19/modules/module-always-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-augment-properties.so
-%{_libdir}/pulse-0.9.19/modules/module-bluetooth-device.so
-%{_libdir}/pulse-0.9.19/modules/module-bluetooth-discover.so
-%{_libdir}/pulse-0.9.19/modules/module-bluetooth-proximity.so
-%{_libdir}/pulse-0.9.19/modules/module-card-restore.so
-%{_libdir}/pulse-0.9.19/modules/module-cli-protocol-tcp.so
-%{_libdir}/pulse-0.9.19/modules/module-cli-protocol-unix.so
-%{_libdir}/pulse-0.9.19/modules/module-cli.so
-%{_libdir}/pulse-0.9.19/modules/module-combine.so
-%{_libdir}/pulse-0.9.19/modules/module-loopback.so
-%{_libdir}/pulse-0.9.19/modules/module-console-kit.so
-%{_libdir}/pulse-0.9.19/modules/module-cork-music-on-phone.so
-%{_libdir}/pulse-0.9.19/modules/module-default-device-restore.so
-%{_libdir}/pulse-0.9.19/modules/module-detect.so
-%{_libdir}/pulse-0.9.19/modules/module-device-restore.so
-%{_libdir}/pulse-0.9.19/modules/module-esound-compat-spawnfd.so
-%{_libdir}/pulse-0.9.19/modules/module-esound-compat-spawnpid.so
-%{_libdir}/pulse-0.9.19/modules/module-esound-protocol-tcp.so
-%{_libdir}/pulse-0.9.19/modules/module-esound-protocol-unix.so
-%{_libdir}/pulse-0.9.19/modules/module-esound-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-gconf.so
-%{_libdir}/pulse-0.9.19/modules/module-hal-detect.so
-%{_libdir}/pulse-0.9.19/modules/module-http-protocol-tcp.so
-%{_libdir}/pulse-0.9.19/modules/module-http-protocol-unix.so
-%{_libdir}/pulse-0.9.19/modules/module-ladspa-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-match.so
-%{_libdir}/pulse-0.9.19/modules/module-mmkbd-evdev.so
-%{_libdir}/pulse-0.9.19/modules/module-native-protocol-fd.so
-%{_libdir}/pulse-0.9.19/modules/module-native-protocol-tcp.so
-%{_libdir}/pulse-0.9.19/modules/module-native-protocol-unix.so
-%{_libdir}/pulse-0.9.19/modules/module-null-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-pipe-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-pipe-source.so
-%{_libdir}/pulse-0.9.19/modules/module-position-event-sounds.so
-%{_libdir}/pulse-0.9.19/modules/module-remap-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-rescue-streams.so
-%{_libdir}/pulse-0.9.19/modules/module-rtp-recv.so
-%{_libdir}/pulse-0.9.19/modules/module-rtp-send.so
-%{_libdir}/pulse-0.9.19/modules/module-simple-protocol-tcp.so
-%{_libdir}/pulse-0.9.19/modules/module-simple-protocol-unix.so
-%{_libdir}/pulse-0.9.19/modules/module-sine.so
-%{_libdir}/pulse-0.9.19/modules/module-sine-source.so
-%{_libdir}/pulse-0.9.19/modules/module-stream-restore.so
-%{_libdir}/pulse-0.9.19/modules/module-suspend-on-idle.so
-%{_libdir}/pulse-0.9.19/modules/module-tunnel-sink.so
-%{_libdir}/pulse-0.9.19/modules/module-tunnel-source.so
-%{_libdir}/pulse-0.9.19/modules/module-volume-restore.so
-#%{_libdir}/pulse-0.9.19/modules/module-zeroconf-discover.so
-#%{_libdir}/pulse-0.9.19/modules/module-zeroconf-publish.so
-%{_libdir}/pulse-0.9.19/modules/module-udev-detect.so
+%{_libdir}/pulse-%{pulseversion}/modules/libalsa-util.so
+#%{_libdir}/pulse-%{pulseversion}/modules/libavahi-wrap.so
+%{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-ipc.so
+%{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-sbc.so
+%{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-util.so
+%{_libdir}/pulse-%{pulseversion}/modules/libcli.so
+%{_libdir}/pulse-%{pulseversion}/modules/liboss-util.so
+%{_libdir}/pulse-%{pulseversion}/modules/libprotocol-cli.so
+%{_libdir}/pulse-%{pulseversion}/modules/libprotocol-esound.so
+%{_libdir}/pulse-%{pulseversion}/modules/libprotocol-http.so
+%{_libdir}/pulse-%{pulseversion}/modules/libprotocol-native.so
+%{_libdir}/pulse-%{pulseversion}/modules/libprotocol-simple.so
+%{_libdir}/pulse-%{pulseversion}/modules/librtp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-source.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-card.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-always-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-augment-properties.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-device.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-discover.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-proximity.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-card-restore.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-cli-protocol-tcp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-cli-protocol-unix.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-cli.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-combine.so
+# Warning: following lib should be removed...
+%exclude %{_libdir}/pulse-%{pulseversion}/modules/module-device-manager.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-loopback.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-console-kit.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-cork-music-on-phone.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-default-device-restore.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-detect.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-device-restore.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-dbus-protocol.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-esound-compat-spawnfd.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-esound-compat-spawnpid.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-esound-protocol-tcp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-esound-protocol-unix.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-esound-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-gconf.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-hal-detect.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-http-protocol-tcp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-http-protocol-unix.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-ladspa-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-match.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-mmkbd-evdev.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-fd.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-tcp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-unix.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-null-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-null-source.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-oss.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-pipe-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-pipe-source.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-position-event-sounds.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-remap-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-rescue-streams.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-rtp-recv.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-rtp-send.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-simple-protocol-tcp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-simple-protocol-unix.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-sine.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-sine-source.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-stream-restore.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-suspend-on-idle.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-tunnel-sink.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-tunnel-source.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-volume-restore.so
+#%{_libdir}/pulse-%{pulseversion}/modules/module-zeroconf-discover.so
+#%{_libdir}/pulse-%{pulseversion}/modules/module-zeroconf-publish.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-udev-detect.so
/lib/udev/rules.d/90-pulseaudio.rules
%{_datadir}/pulseaudio/alsa-mixer/paths/*
%{_datadir}/pulseaudio/alsa-mixer/profile-sets/*
%{_bindir}/pamon
%{_bindir}/parecord
-%{_libdir}/pulse-0.9.19/modules/module-intended-roles.so
-%{_libdir}/pulse-0.9.19/modules/module-rygel-media-server.so
-#%{_libdir}/pulse-0.9.19/modules/module-alsa-sink-old.so
-#%{_libdir}/pulse-0.9.19/modules/module-alsa-source-old.so
-#%{_libdir}/pulse-0.9.19/modules/module-voice.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-intended-roles.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-rygel-media-server.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-sink-old.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-source-old.so
# << files
@@ -325,18 +384,23 @@
%defattr(-,root,root,-)
# >> files module-x11
%doc %{_mandir}/man1/pax11publish.1.gz
+%config %{_sysconfdir}/xdg/autostart/pulseaudio.desktop
%{_bindir}/start-pulseaudio-x11
%{_bindir}/pax11publish
-%{_libdir}/pulse-0.9.19/modules/module-x11-bell.so
-%{_libdir}/pulse-0.9.19/modules/module-x11-publish.so
-%{_libdir}/pulse-0.9.19/modules/module-x11-xsmp.so
-%{_libdir}/pulse-0.9.19/modules/module-x11-cork-request.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-x11-bell.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-x11-publish.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-x11-xsmp.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-x11-cork-request.so
# << files module-x11
%files devel
%defattr(-,root,root,-)
# >> files devel
%{_includedir}/pulse/
+%{_includedir}/pulsecore/
+#%{_includedir}/pulse-modules-headers/pulse/
+%{_includedir}/pulse-modules-headers/pulsecore/
+#%{_includedir}/pulse-modules-headers/modules/
%{_libdir}/libpulse.so
%{_libdir}/libpulse-mainloop-glib.so
%{_libdir}/libpulse-simple.so
@@ -345,6 +409,8 @@
%{_libdir}/pkgconfig/libpulse-mainloop-glib.pc
%{_libdir}/pkgconfig/libpulse-simple.pc
%{_libdir}/pkgconfig/libpulse.pc
+%{_libdir}/pkgconfig/pulsecore.pc
%{_datadir}/vala/vapi/libpulse.vapi
# << files devel
+%changelog
other changes:
--------------
++++++ daemon_mfld.conf
--- daemon_mfld.conf
+++ daemon_mfld.conf
@@ -25,10 +25,14 @@
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
+; local-server-type = user
; enable-shm = yes
+disable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
+shm-size-bytes = 16777216
; lock-memory = no
; cpu-limit = no
+no-cpu-limit = 1
; high-priority = yes
; nice-level = -11
@@ -37,7 +41,6 @@
; realtime-priority = 5
exit-idle-time = -1
-; module-idle-time = 20
; scache-idle-time = 20
; dl-search-path = (depends on architecture)
@@ -52,6 +55,7 @@
; log-backtrace = 0
; resample-method = speex-float-3
+resample-method = speex-fixed-2
; enable-remixing = yes
; enable-lfe-remixing = no
@@ -73,10 +77,13 @@
; rlimit-rtprio = 9
; rlimit-rttime = 1000000
-default-sample-format = s24-32le
+; default-sample-format = s16le
+; default-sample-rate = 44100
default-sample-rate = 48000
-default-sample-channels = 2
+; default-sample-channels = 2
; default-channel-map = front-left,front-right
-default-fragments = 4
+; default-fragments = 4
+; default-fragment-size-msec = 25
+default-fragments = 2
default-fragment-size-msec = 20
++++++ default_mfld.pa
--- default_mfld.pa
+++ default_mfld.pa
@@ -19,28 +19,132 @@
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
+.nofail
+
+
.fail
-### Automatically restore the volume of streams and devices
-load-module module-device-restore
-load-module module-stream-restore
-load-module module-card-restore
+###################################
+# PA initialization #
+###################################
load-module module-native-protocol-unix
+load-module module-simple-protocol-unix
-### Automatically suspend sinks/sources that become idle for too long
-#load-module module-suspend-on-idle
-
-### Automatically move streams to the default sink if the sink they are
-### connected to dies, similar for sources
+### Automatically restore the volume of streams and devices
+#load-module module-stream-restore fallback_table=/etc/pulse/x-maemo-stream-restore.table restore_muted=no restore_device=no route_table=/etc/pulse/x-maemo-route.table
load-module module-rescue-streams
-#load-module module-hal-detect tsched=0
-#load-module module-bluetooth-discover
+load-module module-suspend-on-idle timeout=5
+
+### Automatically augment property information from .desktop files
+### stored in /usr/share/application
+load-module module-augment-properties
+
+load-module module-null-sink sink_name=sink.null
+
+##################################
+# default sink/src #
+###################################
+
+### Default static drivers
+load-module module-alsa-sink-old sink_name=sink.ihf device=hw:0,1 format=s24-32le
+#load-module module-alsa-sink sink_name=sink.hw0 device=hw:0,0 format=s24-32le tsched=0
+
+# MSIC alsa sink
+load-module module-alsa-sink-old sink_name=sink.hs device=hw:0,0 format=s24-32le fragment_size=3840 fragments=4 alt_fragment_size=1920 alt_fragments=2
+
+# USB alsa sink
+load-module module-alsa-sink-old sink_name=sink.usb device=hw:2,0 format=s16le channels=2 rate=48000 fragment_size=3840 fragments=4
+#load-module module-alsa-sink-old sink_name=sink.hw0 device=hw:0,0 rate=48000 fragment_size=1920 fragments=4 alt_fragment_size=960 alt_fragments=2 paths=ti-tlv320aic3x-output-speakers,ti-tlv320aic3x-output-headphones db_fixes="HP DAC:0:-60.00,38:-40.00,42:-38.00,46:-36.00,50:-34.00,54:-32.00,58:-30.00,62:-28.00,66:-26.00,70:-24.00,74:-22.00,78:-20.00,86:-16.00,90:-14.00,94:-12.00,98:-10.00,102:-8.00,106:-6.00,110:-4.00,114:-2.00,118:0;Earphone:0:-60.00,74:-22.00,82:-18.00,90:-14.00,94:-12.00,98:-10.00,102:-8.00,106:-6.00,110:-4.00,114:-2.00,118:0;Headphone:0:-51.70,1:-45.70,2:-42.20,3:-39.70,4:-37.70,5:-36.10,6:-33.60,7:-31.70,8:-28.70,9:-27.50,10:-25.50,11:-23.90,12:-22.60,13:-20.80,14:-19.30,15:-18.50,16:-16.90,17:-15.90,18:-14.70,19:-13.90,20:-12.70,21:-11.80,22:-11.00,23:-10.00,24:-9.20,25:-8.40,26:-7.40,27:-6.70,28:-5.90,29:-5.20,30:-4.50,31:-3.80,32:-3.10,33:-2.50,34:-1.90,35:-1.20,36:-0.70,37:0"
+update-sink-proplist sink.hs module-suspend-on-idle.timeout=1
+#set-sink-volume 1 0
+
+# MSIC alsa source
+load-module module-alsa-source-old source_name=source.hs device=hw:0,0 format=s24-32le fragment_size=3840 fragments=4 alt_fragment_size=1920 alt_fragments=2
+
+# USB alsa source
+load-module module-alsa-source-old source_name=source.usb device=hw:2,0 format=s16le rate=48000 fragment_size=1920 fragments=4
+
+#load-module module-alsa-source source_name=source.hs device=hw:0,0 tsched=0
+#update-source-proplist source.hs module-suspend-on-idle.timeout=1
+
+#load-module module-alsa-source source_name=source.hs device=hs
+#fragment_size=96 fragments=4
+#channels=1 fragment_size=3840 fragments=4
+#alt_fragment_size=3840 alt_fragments=4
+update-source-proplist source.hs module-suspend-on-idle.timeout=1
+
+### Nokia audio enhancements modules
+.ifexists module-meego-parameters.so
+load-module module-meego-parameters cache=true
+.endif
+.ifexists module-meego-voice.so
+load-module module-meego-voice master_sink=sink.hs master_source=source.hs
+#dbus_type=system
+.endif
+.ifexists module-meego-algorithms.so
+load-module module-meego-algorithms
+.endif
+.ifexists module-meego-music.so
+load-module module-meego-music sink_name=sink.music master_sink=sink.voice.raw
+# master_sink=sink.voice.raw
+set-default-sink sink.music
+.endif
+.ifexists module-meego-record.so
+load-module module-meego-record source_name=source.record master_source=source.voice.raw
+set-default-source source.record
+.endif
+.ifexists module-meego-cmtspeech-ifx.so
+load-module module-meego-cmtspeech-ifx sink=sink.voice source=source.voice dbus_type=system
+.endif
+
+### Bluetooth OMAP SCO over PCM
+.nofail
+
+load-module module-alsa-sink-old sink_name=sink.hsp device=hw:1,0 rate=8000 channels=1 fragment_size=80 fragments=2
+load-module module-alsa-source-old source_name=source.hsp device=hw:1,0 rate=8000 channels=1 fragment_size=80 fragments=2
+
+### Automatically load driver modules for Bluetooth hardware
+load-module module-bluetooth-discover sco_sink=sink.hsp sco_source=source.hsp
+
+### Sink for playing ringtones to both IHF and wired HS
+load-module module-combine sink_name=sink.hsandihf slaves=sink.hs,sink.ihf slave_amps=0,-28 resample_method=trivial adjust_time=1
+
+### Sink for playing ringtones to both IHF and USB HS
+load-module module-combine sink_name=sink.usbandihf slaves=sink.usb,sink.ihf slave_amps=0,-28 resample_method=trivial adjust_time=1
+
+### Sink for playing ringtones to both IHF and BT HSP HS
+load-module module-combine sink_name=sink.hspandihf slaves=sink.hsp,sink.ihf slave_amps=0,-28 resample_method=trivial adjust_time=1
+
+###################################
+# other modules #
+###################################
+
+.ifexists module-esound-protocol-unix.so
+load-module module-esound-protocol-unix
+.endif
+
+.ifexists module-native-protocol-tcp.so
+load-module module-native-protocol-tcp auth-anonymous=1
+.endif
+
+.ifexists module-zeroconf-publish.so
+load-module module-zeroconf-publish
+.endif
+
+.ifexists module-zeroconf-discover.so
+load-module module-zeroconf-discover
+.endif
+
+.ifexists module-policy-enforcement.so
+load-module module-policy-enforcement null_sink_name=sink.null
+.endif
+
+.ifexists module-nokia-audiots.so
+load-module module-nokia-audiots hw_sink_name=sink.hs port=3001
+.endif
+
+#load-module module-match table=/etc/pulse/x-maemo-match.table key=application.name
-load-module module-suspend-on-idle timeout=0
-load-module module-alsa-sink device=hw:0,0 sink_name=hs_sink channels=2 tsched=0
-load-module module-alsa-source device=hw:0,0 source_name=hs_source tsched=0
-load-module module-alsa-sink device=hw:0,1 sink_name=ihf_sink channels=2 tsched=0
-load-module module-alsa-sink device=hw:0,2 sink_name=vib1_sink channels=1 tsched=0
-load-module module-alsa-sink device=hw:0,3 sink_name=vib2_sink channels=1 tsched=0
-#load-module module-voice sink_name=Voicesink source_name=Voicesource device=/dev/cmt_speech channels=1 channel_map=mono transmit=TRUE receive=TRUE rate=16000 fragments=2 fragment_size=640 mmap=TRUE
+#Run on port 4712
+load-module module-cli-protocol-tcp
++++++ pa-0.9.19-mfld-build-files.patch (new)
--- pa-0.9.19-mfld-build-files.patch
+++ pa-0.9.19-mfld-build-files.patch
+From 0a8ca62a6a6fe95e3a553e5be90c164272142980 Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 12:11:12 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ Makefile.am | 1 +
+ bootstrap.sh | 2 +-
+ configure.ac | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 3 files changed, 59 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 2713c0a..a3aa2d2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -40,6 +40,7 @@ vapi_DATA = vala/libpulse.vapi
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libpulse.pc libpulse-simple.pc
++pkgconfig_DATA = libpulse.pc libpulse-simple.pc pulsecore.pc
+
+ if HAVE_AVAHI
+ pkgconfig_DATA += \
+diff --git a/bootstrap.sh b/bootstrap.sh
+index c7c8582..5d8c6fb 100755
+--- a/bootstrap.sh
++++ b/bootstrap.sh
+@@ -94,7 +94,7 @@ else
+ run_versioned automake "$VERSION" --copy --foreign --add-missing
+
+ if test "x$NOCONFIGURE" = "x"; then
+- CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"
++ CFLAGS="$CFLAGS -g -O0 -DNOKIA=1 -DDEBUG_VOLUME=1" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"
+ make clean
+ fi
+ fi
+diff --git a/configure.ac b/configure.ac
+index 78234fc..f9db6a4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,8 +22,7 @@
+
+ AC_PREREQ(2.63)
+
+-AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
+- [mzchyfrnhqvb (at) 0pointer (dot) net])
++AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[mzchyfrnhqvb (at) 0pointer (dot) net])
+ AC_CONFIG_SRCDIR([src/daemon/main.c])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADERS([config.h])
+@@ -41,7 +40,7 @@ AC_SUBST(PA_MAJORMINORMICRO, pa_major.pa_minor.pa_micro)
+ AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
+
+ AC_SUBST(PA_API_VERSION, 12)
+-AC_SUBST(PA_PROTOCOL_VERSION, 16)
++AC_SUBST(PA_PROTOCOL_VERSION, 18)
+
+ # The stable ABI for client applications, for the version info x:y:z
+ # always will hold y=z
+@@ -104,7 +103,7 @@ if test "x$M4" = xno ; then
+ fi
+
+ dnl Compiler flags
+-CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
++CC_CHECK_CFLAGS_APPEND([-DNOKIA=1 -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
+
+ dnl Linker flags.
+ dnl Check whether the linker supports the -version-script option.
+@@ -362,7 +361,12 @@ AC_CHECK_HEADERS_ONCE([sys/atomic.h])
+ AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
+ AC_CHECK_HEADERS_ONCE([byteswap.h])
+ AC_CHECK_HEADERS_ONCE([sys/syscall.h])
+-AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
++# libc6-2.8-0eglibc10+0m6 doesn't have eventfd2 support, which
++# is introduced in libc6-2.9. The header is still in place,
++# so eventfd support is falsely detected.
++# Uncomment following line after libc is updated to 2.9 or
++# eventfd2 support is backported to 2.8
++#AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
+ AC_CHECK_HEADERS_ONCE([execinfo.h])
+
+ #### Typdefs, structures, etc. ####
+@@ -446,7 +450,7 @@ AC_CHECK_FUNCS_ONCE([lstat])
+
+ # Non-standard
+
+-AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
++AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
+
+ AC_FUNC_ALLOCA
+
+@@ -516,7 +520,7 @@ AC_ARG_ENABLE([x11],
+ [x11=auto])
+
+ if test "x${x11}" != xno ; then
+- PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
++ PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
+ HAVE_X11=1,
+ [
+ HAVE_X11=0
+@@ -743,6 +747,28 @@ AC_SUBST(HAVE_OSS)
+ AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
+ AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
+
++#### CoreAudio support (optional) ####
++
++AC_ARG_ENABLE([coreaudio-output],
++ AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
++ [
++ case "${enableval}" in
++ yes) coreaudio_enabled=yes ;;
++ no) coreaudio_enabled=no ;;
++ *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
++ esac
++ ],
++ [coreaudio_enabled=auto])
++
++if test "x${coreaudio_enabled}" != xno ; then
++ AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
++else
++ HAVE_COREAUDIO=0
++fi
++
++AC_SUBST(HAVE_COREAUDIO)
++AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
++
+ #### ALSA support (optional) ####
+
+ AC_ARG_ENABLE([alsa],
+@@ -1199,6 +1225,7 @@ if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ;
+ HAVE_DBUS=1
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $DBUS_LIBS"
++ CFLAGS="$CFLAGS $DBUS_CFLAGS"
+ AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
+ LIBS="$saved_LIBS"
+ AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
+@@ -1273,6 +1300,16 @@ AC_SUBST(OPENSSL_LIBS)
+ AC_SUBST(HAVE_OPENSSL)
+ AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
+
++#### FFTW (optional) ####
++AC_ARG_WITH(
++ [fftw],
++ AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
++
++if test "x${with_fftw}" != "xno"; then
++ PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
++fi
++AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
++
+ ### Build and Install man pages ###
+ AC_ARG_ENABLE(manpages,
+ AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
+@@ -1388,6 +1425,7 @@ libpulse.pc
+ libpulse-simple.pc
+ libpulse-browse.pc
+ libpulse-mainloop-glib.pc
++pulsecore.pc
+ doxygen/Makefile
+ doxygen/doxygen.conf
+ src/pulse/version.h
+@@ -1413,6 +1451,11 @@ if test "x$HAVE_OSS" = "x1" ; then
+ fi
+ fi
+
++ENABLE_COREAUDIO=no
++if test "x$HAVE_COREAUDIO" = "x1" ; then
++ ENABLE_COREAUDIO=yes
++fi
++
+ ENABLE_ALSA=no
+ if test "x$HAVE_ALSA" = "x1" ; then
+ ENABLE_ALSA=yes
+@@ -1503,6 +1546,11 @@ if test "x${HAVE_SIMPLEDB}" = "x1" ; then
+ ENABLE_SIMPLEDB=yes
+ fi
+
++ENABLE_FFTW=no
++if test "x${HAVE_FFTW}" = "x1" ; then
++ ENABLE_FFTW=yes
++fi
++
+ ENABLE_OPENSSL=no
+ if test "x${HAVE_OPENSSL}" = "x1" ; then
+ ENABLE_OPENSSL=yes
+@@ -1533,6 +1581,7 @@ echo "
+ Have X11: ${ENABLE_X11}
+ Enable OSS Output: ${ENABLE_OSS_OUTPUT}
+ Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
++ Enable CoreAudio: ${ENABLE_COREAUDIO}
+ Enable Alsa: ${ENABLE_ALSA}
+ Enable Solaris: ${ENABLE_SOLARIS}
+ Enable GLib 2.0: ${ENABLE_GLIB20}
+@@ -1553,6 +1602,7 @@ echo "
(10 more lines skipped)
++++++ pa-0.9.19-mfld-folder-alsa-mixer-paths.patch (new)
--- pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
+++ pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
+From 5b9d3c6a14acb04d73a6820991efdfc04dec1cb4 Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Mon, 13 Dec 2010 17:50:16 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ .../alsa/mixer/paths/analog-input.conf.common | 31 ++++++-
+ .../mixer/paths/analog-output-headphones-2.conf | 82 +++++++++++++++++
+ .../alsa/mixer/paths/analog-output-headphones.conf | 7 ++
+ .../mixer/paths/analog-output-lfe-on-mono.conf | 4 +
+ .../alsa/mixer/paths/analog-output-mono.conf | 4 +
+ .../alsa/mixer/paths/analog-output-speaker.conf | 94 ++++++++++++++++++++
+ src/modules/alsa/mixer/paths/analog-output.conf | 15 ++--
+ .../alsa/mixer/paths/analog-output.conf.common | 11 ++-
+ 8 files changed, 238 insertions(+), 10 deletions(-)
+ create mode 100644 src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
+ create mode 100644 src/modules/alsa/mixer/paths/analog-output-speaker.conf
+
+diff --git a/src/modules/alsa/mixer/paths/analog-input.conf.common b/src/modules/alsa/mixer/paths/analog-input.conf.common
+index 87af38b..951e11f 100644
+--- a/src/modules/alsa/mixer/paths/analog-input.conf.common
++++ b/src/modules/alsa/mixer/paths/analog-input.conf.common
+@@ -98,7 +98,11 @@ priority = 18
+ name = input-docking
+ priority = 17
+
+-;;; ' Capture Source'
++[Option Input Source:AUX IN]
++name = input
++priority = 10
++
++;;; 'Capture Source'
+
+ [Element Capture Source]
+ enumeration = select
+@@ -244,6 +248,31 @@ name = input-docking
+ [Option Capture Source:Dock Mic]
+ name = input-docking-microphone
+
++;;; 'Mic Jack Mode'
++
++[Element Mic Jack Mode]
++enumeration = select
++
++[Option Mic Jack Mode:Mic In]
++name = input-microphone
++
++[Option Mic Jack Mode:Line In]
++name = input-linein
++
++;;; 'Digital Input Source'
++
++[Element Digital Input Source]
++enumeration = select
++
++[Option Digital Input Source:Analog Inputs]
++name = input
++
++[Option Digital Input Source:Digital Mic 1]
++name = input-microphone
++
++[Option Digital Input Source:Digital Mic 2]
++name = input-microphone
++
+ ;;; Various Boosts
+
+ [Element Capture Boost]
+diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf b/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
+new file mode 100644
+index 0000000..f2fd31c
+--- /dev/null
++++ b/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
+@@ -0,0 +1,82 @@
++# This file is part of PulseAudio.
++#
++# PulseAudio is free software; you can redistribute it and/or modify
++# it under the terms of the GNU Lesser General Public License as
++# published by the Free Software Foundation; either version 2.1 of the
++# License, or (at your option) any later version.
++#
++# PulseAudio is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public License
++# along with PulseAudio; if not, write to the Free Software Foundation,
++# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
++
++; Path for mixers that have a 'Headphone2' control
++;
++; See analog-output.conf.common for an explanation on the directives
++
++[General]
++priority = 89
++
++[Element Hardware Master]
++switch = mute
++volume = merge
++override-map.1 = all
++override-map.2 = all-left,all-right
++
++[Element Master]
++switch = mute
++volume = merge
++override-map.1 = all
++override-map.2 = all-left,all-right
++
++[Element Master Mono]
++switch = off
++volume = off
++
++; This profile path is intended to control the second headphones, not
++; the first headphones. But it should not hurt if we leave the
++; headphone jack enabled nonetheless.
++[Element Headphone]
++switch = mute
++volume = zero
++
++[Element Headphone2]
++required = any
++switch = mute
++volume = merge
++override-map.1 = all
++override-map.2 = all-left,all-right
++
++[Element Speaker]
++switch = off
++volume = off
++
++[Element Front]
++switch = off
++volume = off
++
++[Element Rear]
++switch = off
++volume = off
++
++[Element Surround]
++switch = off
++volume = off
++
++[Element Side]
++switch = off
++volume = off
++
++[Element Center]
++switch = off
++volume = off
++
++[Element LFE]
++switch = off
++volume = off
++
++.include analog-output.conf.common
+diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+index 61d2e29..2131cfe 100644
+--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
++++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+@@ -44,6 +44,13 @@ volume = merge
+ override-map.1 = all
+ override-map.2 = all-left,all-right
+
++; This profile path is intended to control the first headphones, not
++; the second headphones. But it should not hurt if we leave the second
++; headphone jack enabled nonetheless.
++[Element Headphone2]
++switch = mute
++volume = zero
++
+ [Element Speaker]
+ switch = off
+ volume = off
+diff --git a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
+index 911361d..0a43e27 100644
+--- a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
++++ b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
+@@ -48,6 +48,10 @@ override-map.2 = lfe,lfe
+ switch = mute
+ volume = zero
+
++[Element Headphone2]
++switch = mute
++volume = zero
++
+ [Element Speaker]
+ switch = mute
+ volume = merge
+diff --git a/src/modules/alsa/mixer/paths/analog-output-mono.conf b/src/modules/alsa/mixer/paths/analog-output-mono.conf
+index 2fbc60b..542edc4 100644
+--- a/src/modules/alsa/mixer/paths/analog-output-mono.conf
++++ b/src/modules/alsa/mixer/paths/analog-output-mono.conf
+@@ -45,6 +45,10 @@ override-map.2 = all-left,all-right
+ switch = mute
+ volume = zero
(178 more lines skipped)
++++++ pa-0.9.19-mfld-folder-alsa.patch (new)
--- pa-0.9.19-mfld-folder-alsa.patch
+++ pa-0.9.19-mfld-folder-alsa.patch
+From 74cf1fccfac50389d5e254a76d7a51ef41273d9a Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 10:28:25 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/modules/alsa/alsa-mixer.c | 653 +++++++++--
+ src/modules/alsa/alsa-mixer.h | 71 +-
+ src/modules/alsa/alsa-sink-old.c | 1499 ++++++++++++++++++++++
+ src/modules/alsa/alsa-sink-old.h | 38 +
+ src/modules/alsa/alsa-sink.c | 7 +-
+ src/modules/alsa/alsa-source-old.c | 1434 +++++++++++++++++++++
+ src/modules/alsa/alsa-source-old.h | 38 +
+ src/modules/alsa/alsa-source.c | 7 +-
+ src/modules/alsa/alsa-util-old.c | 71 +
+ src/modules/alsa/alsa-util-old.h | 40 +
+ src/modules/alsa/alsa-util.c | 4 +-
+ src/modules/alsa/alsa-util.h | 3 +-
+ src/modules/alsa/mixer/profile-sets/default.conf | 14 +-
+ src/modules/alsa/module-alsa-sink-old.c | 316 +++++
+ src/modules/alsa/module-alsa-source-old.c | 289 +++++
+ 15 files changed, 4384 insertions(+), 100 deletions(-)
+ create mode 100644 src/modules/alsa/alsa-sink-old.c
+ create mode 100644 src/modules/alsa/alsa-sink-old.h
+ create mode 100644 src/modules/alsa/alsa-source-old.c
+ create mode 100644 src/modules/alsa/alsa-source-old.h
+ create mode 100644 src/modules/alsa/alsa-util-old.c
+ create mode 100644 src/modules/alsa/alsa-util-old.h
+ create mode 100644 src/modules/alsa/module-alsa-sink-old.c
+ create mode 100644 src/modules/alsa/module-alsa-source-old.c
+
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index f3ce681..7f16965 100644
+--- a/src/modules/alsa/alsa-mixer.c
++++ b/src/modules/alsa/alsa-mixer.c
+@@ -402,6 +402,15 @@ static void option_free(pa_alsa_option *o) {
+ pa_xfree(o);
+ }
+
++static void decibel_fix_free(pa_alsa_decibel_fix *db_fix) {
++ pa_assert(db_fix);
++
++ pa_xfree(db_fix->name);
++ pa_xfree(db_fix->db_values);
++
++ pa_xfree(db_fix);
++}
++
+ static void element_free(pa_alsa_element *e) {
+ pa_alsa_option *o;
+ pa_assert(e);
+@@ -411,6 +420,9 @@ static void element_free(pa_alsa_element *e) {
+ option_free(o);
+ }
+
++ if (e->db_fix)
++ decibel_fix_free(e->db_fix);
++
+ pa_xfree(e->alsa_name);
+ pa_xfree(e);
+ }
+@@ -504,14 +516,60 @@ static int element_get_volume(pa_alsa_element *e, snd_mixer_t *m, const pa_chann
+ long value = 0;
+
+ if (e->direction == PA_ALSA_DIRECTION_OUTPUT) {
+- if (snd_mixer_selem_has_playback_channel(me, c))
+- r = snd_mixer_selem_get_playback_dB(me, c, &value);
+- else
++ if (snd_mixer_selem_has_playback_channel(me, c)) {
++ if (e->db_fix) {
++ if ((r = snd_mixer_selem_get_playback_volume(me, c, &value)) >= 0) {
++ /* If the channel volume is outside the limits set
++ * by the dB fix, we clamp the hw volume to be
++ * within the limits. */
++ if (value < e->db_fix->min_register_value) {
++ value = e->db_fix->min_register_value;
++ snd_mixer_selem_set_playback_volume(me, c, value);
++ pa_log_debug("Playback volume for element %s channel %i was below the dB fix limit. "
++ "Volume reset to %0.2f dB.", e->alsa_name, c,
++ e->db_fix->db_values[value - e->db_fix->min_register_value] / 100.0);
++ } else if (value > e->db_fix->max_register_value) {
++ value = e->db_fix->max_register_value;
++ snd_mixer_selem_set_playback_volume(me, c, value);
++ pa_log_debug("Playback volume for element %s channel %i was over the dB fix limit. "
++ "Volume reset to %0.2f dB.", e->alsa_name, c,
++ e->db_fix->db_values[value - e->db_fix->min_register_value] / 100.0);
++ }
++
++ /* Register value -> dB value conversion. */
++ value = e->db_fix->db_values[value - e->db_fix->min_register_value];
++ }
++ } else
++ r = snd_mixer_selem_get_playback_dB(me, c, &value);
++ } else
+ r = -1;
+ } else {
+- if (snd_mixer_selem_has_capture_channel(me, c))
+- r = snd_mixer_selem_get_capture_dB(me, c, &value);
+- else
++ if (snd_mixer_selem_has_capture_channel(me, c)) {
++ if (e->db_fix) {
++ if ((r = snd_mixer_selem_get_capture_volume(me, c, &value)) >= 0) {
++ /* If the channel volume is outside the limits set
++ * by the dB fix, we clamp the hw volume to be
++ * within the limits. */
++ if (value < e->db_fix->min_register_value) {
++ value = e->db_fix->min_register_value;
++ snd_mixer_selem_set_capture_volume(me, c, value);
++ pa_log_debug("Capture volume for element %s channel %i was below the dB fix limit. "
++ "Volume reset to %0.2f dB.", e->alsa_name, c,
++ e->db_fix->db_values[value - e->db_fix->min_register_value] / 100.0);
++ } else if (value > e->db_fix->max_register_value) {
++ value = e->db_fix->max_register_value;
++ snd_mixer_selem_set_capture_volume(me, c, value);
++ pa_log_debug("Capture volume for element %s channel %i was over the dB fix limit. "
++ "Volume reset to %0.2f dB.", e->alsa_name, c,
++ e->db_fix->db_values[value - e->db_fix->min_register_value] / 100.0);
++ }
++
++ /* Register value -> dB value conversion. */
++ value = e->db_fix->db_values[value - e->db_fix->min_register_value];
++ }
++ } else
++ r = snd_mixer_selem_get_capture_dB(me, c, &value);
++ } else
+ r = -1;
+ }
+
+@@ -671,6 +729,37 @@ int pa_alsa_path_get_mute(pa_alsa_path *p, snd_mixer_t *m, pa_bool_t *muted) {
+ return 0;
+ }
+
++/* Finds the closest (rounded up) item in db_fix->db_values and returns the
++ * corresponding register value. *db_value is replaced with the value from the
++ * db_values table. */
++static long decibel_fix_get_register_value(pa_alsa_decibel_fix *db_fix, long *db_value) {
++
++ /* Use binary search. */
++
++ unsigned l; /* "left" */
++ unsigned r; /* "right" */
++ unsigned p; /* "probe" */
++
++ pa_assert(db_fix);
++ pa_assert(db_value);
++
++ l = 0;
++ r = db_fix->max_register_value - db_fix->min_register_value;
++
++ while ((p = (r - l) / 2 + l) != r) {
++ if (db_fix->db_values[p] < *db_value)
++ l = p + 1;
++ else if (db_fix->db_values[p] > *db_value)
++ r = p;
++ else
++ break;
++ }
++
++ *db_value = db_fix->db_values[p];
++
++ return p + db_fix->min_register_value;
++}
++
+ static int element_set_volume(pa_alsa_element *e, snd_mixer_t *m, const pa_channel_map *cm, pa_cvolume *v) {
+ snd_mixer_selem_id_t *sid;
+ pa_cvolume rv;
+@@ -716,17 +805,21 @@ static int element_set_volume(pa_alsa_element *e, snd_mixer_t *m, const pa_chann
+ long value = to_alsa_dB(f);
+
+ if (e->direction == PA_ALSA_DIRECTION_OUTPUT) {
+- /* If we call set_play_volume() without checking first
+- * if the channel is available, ALSA behaves ver
++ /* If we call set_playback_volume() without checking first
++ * if the channel is available, ALSA behaves very
+ * strangely and doesn't fail the call */
+ if (snd_mixer_selem_has_playback_channel(me, c)) {
+- if ((r = snd_mixer_selem_set_playback_dB(me, c, value, +1)) >= 0)
++ if (e->db_fix)
++ r = snd_mixer_selem_set_playback_volume(me, c, decibel_fix_get_register_value(e->db_fix, &value));
++ else if ((r = snd_mixer_selem_set_playback_dB(me, c, value, +1)) >= 0)
+ r = snd_mixer_selem_get_playback_dB(me, c, &value);
+ } else
+ r = -1;
+ } else {
+ if (snd_mixer_selem_has_capture_channel(me, c)) {
+- if ((r = snd_mixer_selem_set_capture_dB(me, c, value, +1)) >= 0)
++ if (e->db_fix)
++ r = snd_mixer_selem_set_capture_volume(me, c, decibel_fix_get_register_value(e->db_fix, &value));
++ else if ((r = snd_mixer_selem_set_capture_dB(me, c, value, +1)) >= 0)
+ r = snd_mixer_selem_get_capture_dB(me, c, &value);
+ } else
+ r = -1;
+@@ -868,10 +961,14 @@ int pa_alsa_path_set_mute(pa_alsa_path *p, snd_mixer_t *m, pa_bool_t muted) {
+ return 0;
+ }
(4824 more lines skipped)
++++++ pa-0.9.19-mfld-folder-daemon.patch (new)
--- pa-0.9.19-mfld-folder-daemon.patch
+++ pa-0.9.19-mfld-folder-daemon.patch
+From b6e4246337fb8bbdf526b21e41352ac7093ebd12 Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Mon, 13 Dec 2010 17:25:08 +0100
+Subject: [PATCH] Pulseaudio : specific path for mfld platform
+
+Specific path for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/daemon/cpulimit.c | 4 +-
+ src/daemon/daemon-conf.c | 53 ++++-
+ src/daemon/daemon-conf.h | 3 +
+ src/daemon/daemon.conf.in | 10 +-
+ src/daemon/default.pa.in | 183 +++++++------
+ src/daemon/main.c | 187 ++++++++----
+ src/daemon/pulseaudio-kde.desktop.in | 11 +
+ src/daemon/server-lookup.c | 522 ++++++++++++++++++++++++++++++++++
+ src/daemon/server-lookup.h | 40 +++
+ src/daemon/start-pulseaudio-kde.in | 30 ++
+ src/daemon/system.pa.in | 4 +
+ 11 files changed, 893 insertions(+), 154 deletions(-)
+ create mode 100644 src/daemon/pulseaudio-kde.desktop.in
+ create mode 100644 src/daemon/server-lookup.c
+ create mode 100644 src/daemon/server-lookup.h
+ create mode 100755 src/daemon/start-pulseaudio-kde.in
+
+diff --git a/src/daemon/cpulimit.c b/src/daemon/cpulimit.c
+index c2877ec..f5042a7 100644
+--- a/src/daemon/cpulimit.c
++++ b/src/daemon/cpulimit.c
+@@ -188,15 +188,13 @@ int pa_cpu_limit_init(pa_mainloop_api *m) {
+ last_time = pa_rtclock_now();
+
+ /* Prepare the main loop pipe */
+- if (pipe(the_pipe) < 0) {
++ if (pa_pipe_cloexec(the_pipe) < 0) {
+ pa_log("pipe() failed: %s", pa_cstrerror(errno));
+ return -1;
+ }
+
+ pa_make_fd_nonblock(the_pipe[0]);
+ pa_make_fd_nonblock(the_pipe[1]);
+- pa_make_fd_cloexec(the_pipe[0]);
+- pa_make_fd_cloexec(the_pipe[1]);
+
+ api = m;
+ io_event = api->io_new(m, the_pipe[0], PA_IO_EVENT_INPUT, callback, NULL);
+diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
+index 6e7926f..bfd5c11 100644
+--- a/src/daemon/daemon-conf.c
++++ b/src/daemon/daemon-conf.c
+@@ -83,6 +83,9 @@ static const pa_daemon_conf default_conf = {
+ .config_file = NULL,
+ .use_pid_file = TRUE,
+ .system_instance = FALSE,
++#ifdef HAVE_DBUS
++ .local_server_type = PA_SERVER_TYPE_UNSET, /* The actual default is _USER, but we have to detect when the user doesn't specify this option. */
++#endif
+ .no_cpu_limit = TRUE,
+ .disable_shm = FALSE,
+ .lock_memory = FALSE,
+@@ -220,6 +223,22 @@ int pa_daemon_conf_set_resample_method(pa_daemon_conf *c, const char *string) {
+ return 0;
+ }
+
++int pa_daemon_conf_set_local_server_type(pa_daemon_conf *c, const char *string) {
++ pa_assert(c);
++ pa_assert(string);
++
++ if (!strcmp(string, "user"))
++ c->local_server_type = PA_SERVER_TYPE_USER;
++ else if (!strcmp(string, "system")) {
++ c->local_server_type = PA_SERVER_TYPE_SYSTEM;
++ } else if (!strcmp(string, "none")) {
++ c->local_server_type = PA_SERVER_TYPE_NONE;
++ } else
++ return -1;
++
++ return 0;
++}
++
+ static int parse_log_target(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata) {
+ pa_daemon_conf *c = data;
+
+@@ -447,6 +466,22 @@ static int parse_rtprio(const char *filename, unsigned line, const char *section
+ return 0;
+ }
+
++static int parse_server_type(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata) {
++ pa_daemon_conf *c = data;
++
++ pa_assert(filename);
++ pa_assert(lvalue);
++ pa_assert(rvalue);
++ pa_assert(data);
++
++ if (pa_daemon_conf_set_local_server_type(c, rvalue) < 0) {
++ pa_log(_("[%s:%u] Invalid server type '%s'."), filename, line, rvalue);
++ return -1;
++ }
++
++ return 0;
++}
++
+ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
+ int r = -1;
+ FILE *f = NULL;
+@@ -462,6 +497,9 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
+ { "allow-exit", pa_config_parse_not_bool, &c->disallow_exit, NULL },
+ { "use-pid-file", pa_config_parse_bool, &c->use_pid_file, NULL },
+ { "system-instance", pa_config_parse_bool, &c->system_instance, NULL },
++#ifdef HAVE_DBUS
++ { "local-server-type", parse_server_type, c, NULL },
++#endif
+ { "no-cpu-limit", pa_config_parse_bool, &c->no_cpu_limit, NULL },
+ { "cpu-limit", pa_config_parse_not_bool, &c->no_cpu_limit, NULL },
+ { "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
+@@ -539,7 +577,7 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
+ c->config_file = NULL;
+
+ f = filename ?
+- fopen(c->config_file = pa_xstrdup(filename), "r") :
++ pa_fopen_cloexec(c->config_file = pa_xstrdup(filename), "r") :
+ pa_open_config_file(DEFAULT_CONFIG_FILE, DEFAULT_CONFIG_FILE_USER, ENV_CONFIG_FILE, &c->config_file);
+
+ if (!f && errno != ENOENT) {
+@@ -614,7 +652,7 @@ FILE *pa_daemon_conf_open_default_script_file(pa_daemon_conf *c) {
+ else
+ f = pa_open_config_file(DEFAULT_SCRIPT_FILE, DEFAULT_SCRIPT_FILE_USER, ENV_SCRIPT_FILE, &c->default_script_file);
+ } else
+- f = fopen(c->default_script_file, "r");
++ f = pa_fopen_cloexec(c->default_script_file, "r");
+
+ return f;
+ }
+@@ -627,6 +665,14 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {
+ [PA_LOG_WARN] = "warning",
+ [PA_LOG_ERROR] = "error"
+ };
++
++ static const char* const server_type_to_string[] = {
++ [PA_SERVER_TYPE_UNSET] = "!!UNSET!!",
++ [PA_SERVER_TYPE_USER] = "user",
++ [PA_SERVER_TYPE_SYSTEM] = "system",
++ [PA_SERVER_TYPE_NONE] = "none"
++ };
++
+ pa_strbuf *s;
+ char cm[PA_CHANNEL_MAP_SNPRINT_MAX];
+
+@@ -649,6 +695,9 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {
+ pa_strbuf_printf(s, "allow-exit = %s\n", pa_yes_no(!c->disallow_exit));
+ pa_strbuf_printf(s, "use-pid-file = %s\n", pa_yes_no(c->use_pid_file));
+ pa_strbuf_printf(s, "system-instance = %s\n", pa_yes_no(c->system_instance));
++#ifdef HAVE_DBUS
++ pa_strbuf_printf(s, "local-server-type = %s\n", server_type_to_string[c->local_server_type]);
++#endif
+ pa_strbuf_printf(s, "cpu-limit = %s\n", pa_yes_no(!c->no_cpu_limit));
+ pa_strbuf_printf(s, "enable-shm = %s\n", pa_yes_no(!c->disable_shm));
+ pa_strbuf_printf(s, "flat-volumes = %s\n", pa_yes_no(c->flat_volumes));
+diff --git a/src/daemon/daemon-conf.h b/src/daemon/daemon-conf.h
+index dd69e04..41c3c4b 100644
+--- a/src/daemon/daemon-conf.h
++++ b/src/daemon/daemon-conf.h
+@@ -28,6 +28,7 @@
+
+ #include <pulsecore/log.h>
+ #include <pulsecore/macro.h>
++#include <pulsecore/core.h>
+ #include <pulsecore/core-util.h>
+
+ #ifdef HAVE_SYS_RESOURCE_H
+@@ -75,6 +76,7 @@ typedef struct pa_daemon_conf {
+ log_time,
+ flat_volumes,
+ lock_memory;
++ pa_server_type_t local_server_type;
+ int exit_idle_time,
+ scache_idle_time,
+ auto_log_target,
+@@ -152,6 +154,7 @@ int pa_daemon_conf_env(pa_daemon_conf *c);
+ int pa_daemon_conf_set_log_target(pa_daemon_conf *c, const char *string);
+ int pa_daemon_conf_set_log_level(pa_daemon_conf *c, const char *string);
+ int pa_daemon_conf_set_resample_method(pa_daemon_conf *c, const char *string);
++int pa_daemon_conf_set_local_server_type(pa_daemon_conf *c, const char *string);
+
+ const char *pa_daemon_conf_get_default_script_file(pa_daemon_conf *c);
+ FILE *pa_daemon_conf_open_default_script_file(pa_daemon_conf *c);
+diff --git a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in
+index 3af68b0..2204a53 100644
+--- a/src/daemon/daemon.conf.in
++++ b/src/daemon/daemon.conf.in
+@@ -25,10 +25,14 @@
+ ; allow-exit = yes
+ ; use-pid-file = yes
+ ; system-instance = no
++; local-server-type = user
+ ; enable-shm = yes
(1223 more lines skipped)
++++++ pa-0.9.19-mfld-folder-modules-dbus.patch (new)
--- pa-0.9.19-mfld-folder-modules-dbus.patch
+++ pa-0.9.19-mfld-folder-modules-dbus.patch
+From a6706e7c1161ef69eda19fd265f47cf1e9cec0ab Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 10:58:18 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/modules/dbus/iface-card-profile.c | 228 ++++
+ src/modules/dbus/iface-card-profile.h | 50 +
+ src/modules/dbus/iface-card.c | 561 ++++++++
+ src/modules/dbus/iface-card.h | 45 +
+ src/modules/dbus/iface-client.c | 461 +++++++
+ src/modules/dbus/iface-client.h | 45 +
+ src/modules/dbus/iface-core.c | 2197 +++++++++++++++++++++++++++++++
+ src/modules/dbus/iface-core.h | 52 +
+ src/modules/dbus/iface-device-port.c | 190 +++
+ src/modules/dbus/iface-device-port.h | 50 +
+ src/modules/dbus/iface-device.c | 1316 ++++++++++++++++++
+ src/modules/dbus/iface-device.h | 53 +
+ src/modules/dbus/iface-memstats.c | 231 ++++
+ src/modules/dbus/iface-memstats.h | 45 +
+ src/modules/dbus/iface-module.c | 336 +++++
+ src/modules/dbus/iface-module.h | 45 +
+ src/modules/dbus/iface-sample.c | 519 ++++++++
+ src/modules/dbus/iface-sample.h | 45 +
+ src/modules/dbus/iface-stream.c | 894 +++++++++++++
+ src/modules/dbus/iface-stream.h | 47 +
+ src/modules/dbus/module-dbus-protocol.c | 620 +++++++++
+ 21 files changed, 8030 insertions(+), 0 deletions(-)
+ create mode 100644 src/modules/dbus/iface-card-profile.c
+ create mode 100644 src/modules/dbus/iface-card-profile.h
+ create mode 100644 src/modules/dbus/iface-card.c
+ create mode 100644 src/modules/dbus/iface-card.h
+ create mode 100644 src/modules/dbus/iface-client.c
+ create mode 100644 src/modules/dbus/iface-client.h
+ create mode 100644 src/modules/dbus/iface-core.c
+ create mode 100644 src/modules/dbus/iface-core.h
+ create mode 100644 src/modules/dbus/iface-device-port.c
+ create mode 100644 src/modules/dbus/iface-device-port.h
+ create mode 100644 src/modules/dbus/iface-device.c
+ create mode 100644 src/modules/dbus/iface-device.h
+ create mode 100644 src/modules/dbus/iface-memstats.c
+ create mode 100644 src/modules/dbus/iface-memstats.h
+ create mode 100644 src/modules/dbus/iface-module.c
+ create mode 100644 src/modules/dbus/iface-module.h
+ create mode 100644 src/modules/dbus/iface-sample.c
+ create mode 100644 src/modules/dbus/iface-sample.h
+ create mode 100644 src/modules/dbus/iface-stream.c
+ create mode 100644 src/modules/dbus/iface-stream.h
+ create mode 100644 src/modules/dbus/module-dbus-protocol.c
+
+diff --git a/src/modules/dbus/iface-card-profile.c b/src/modules/dbus/iface-card-profile.c
+new file mode 100644
+index 0000000..004e2e8
+--- /dev/null
++++ b/src/modules/dbus/iface-card-profile.c
+@@ -0,0 +1,228 @@
++/***
++ This file is part of PulseAudio.
++
++ Copyright 2009 Tanu Kaskinen
++
++ PulseAudio is free software; you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as published
++ by the Free Software Foundation; either version 2.1 of the License,
++ or (at your option) any later version.
++
++ PulseAudio is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with PulseAudio; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
++ USA.
++***/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <dbus/dbus.h>
++
++#include <pulsecore/core-util.h>
++#include <pulsecore/dbus-util.h>
++
++#include "iface-card-profile.h"
++
++#define OBJECT_NAME "profile"
++
++static void handle_get_index(DBusConnection *conn, DBusMessage *msg, void *userdata);
++static void handle_get_name(DBusConnection *conn, DBusMessage *msg, void *userdata);
++static void handle_get_description(DBusConnection *conn, DBusMessage *msg, void *userdata);
++static void handle_get_sinks(DBusConnection *conn, DBusMessage *msg, void *userdata);
++static void handle_get_sources(DBusConnection *conn, DBusMessage *msg, void *userdata);
++static void handle_get_priority(DBusConnection *conn, DBusMessage *msg, void *userdata);
++
++static void handle_get_all(DBusConnection *conn, DBusMessage *msg, void *userdata);
++
++struct pa_dbusiface_card_profile {
++ uint32_t index;
++ pa_card_profile *profile;
++ char *path;
++ pa_dbus_protocol *dbus_protocol;
++};
++
++enum property_handler_index {
++ PROPERTY_HANDLER_INDEX,
++ PROPERTY_HANDLER_NAME,
++ PROPERTY_HANDLER_DESCRIPTION,
++ PROPERTY_HANDLER_SINKS,
++ PROPERTY_HANDLER_SOURCES,
++ PROPERTY_HANDLER_PRIORITY,
++ PROPERTY_HANDLER_MAX
++};
++
++static pa_dbus_property_handler property_handlers[PROPERTY_HANDLER_MAX] = {
++ [PROPERTY_HANDLER_INDEX] = { .property_name = "Index", .type = "u", .get_cb = handle_get_index, .set_cb = NULL },
++ [PROPERTY_HANDLER_NAME] = { .property_name = "Name", .type = "s", .get_cb = handle_get_name, .set_cb = NULL },
++ [PROPERTY_HANDLER_DESCRIPTION] = { .property_name = "Description", .type = "s", .get_cb = handle_get_description, .set_cb = NULL },
++ [PROPERTY_HANDLER_SINKS] = { .property_name = "Sinks", .type = "u", .get_cb = handle_get_sinks, .set_cb = NULL },
++ [PROPERTY_HANDLER_SOURCES] = { .property_name = "Sources", .type = "u", .get_cb = handle_get_sources, .set_cb = NULL },
++ [PROPERTY_HANDLER_PRIORITY] = { .property_name = "Priority", .type = "u", .get_cb = handle_get_priority, .set_cb = NULL },
++};
++
++static pa_dbus_interface_info profile_interface_info = {
++ .name = PA_DBUSIFACE_CARD_PROFILE_INTERFACE,
++ .method_handlers = NULL,
++ .n_method_handlers = 0,
++ .property_handlers = property_handlers,
++ .n_property_handlers = PROPERTY_HANDLER_MAX,
++ .get_all_properties_cb = handle_get_all,
++ .signals = NULL,
++ .n_signals = 0
++};
++
++static void handle_get_index(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++
++ pa_assert(conn);
++ pa_assert(msg);
++ pa_assert(p);
++
++ pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_UINT32, &p->index);
++}
++
++static void handle_get_name(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++
++ pa_assert(conn);
++ pa_assert(msg);
++ pa_assert(p);
++
++ pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_STRING, &p->profile->name);
++}
++
++static void handle_get_description(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++
++ pa_assert(conn);
++ pa_assert(msg);
++ pa_assert(p);
++
++ pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_STRING, &p->profile->description);
++}
++
++static void handle_get_sinks(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++ dbus_uint32_t sinks = 0;
++
++ pa_assert(conn);
++ pa_assert(msg);
++ pa_assert(p);
++
++ sinks = p->profile->n_sinks;
++
++ pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_UINT32, &sinks);
++}
++
++static void handle_get_sources(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++ dbus_uint32_t sources = 0;
++
++ pa_assert(conn);
++ pa_assert(msg);
++ pa_assert(p);
++
++ sources = p->profile->n_sources;
++
++ pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_UINT32, &sources);
++}
++
++static void handle_get_priority(DBusConnection *conn, DBusMessage *msg, void *userdata) {
++ pa_dbusiface_card_profile *p = userdata;
++ dbus_uint32_t priority = 0;
(8014 more lines skipped)
++++++ pa-0.9.19-mfld-folder-modules.patch (new)
--- pa-0.9.19-mfld-folder-modules.patch
+++ pa-0.9.19-mfld-folder-modules.patch
+From 57404aec8b7b39521bf74c48b06587118d7a8eed Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 10:49:01 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/modules/bluetooth/bluetooth-util.c | 10 +-
+ src/modules/bluetooth/module-bluetooth-device.c | 400 ++++-
+ src/modules/bluetooth/module-bluetooth-discover.c | 78 +-
+ src/modules/module-cli.c | 2 +-
+ src/modules/module-combine.c | 117 +-
+ src/modules/module-default-device-restore.c | 8 +-
+ src/modules/module-detect.c | 8 +-
+ src/modules/module-device-manager.c | 1541 +++++++++++++++
+ src/modules/module-equalizer-sink.c | 2161 +++++++++++++++++++++
+ src/modules/module-loopback.c | 2 +-
+ src/modules/module-match.c | 36 +-
+ src/modules/module-mmkbd-evdev.c | 2 +-
+ src/modules/module-null-source.c | 292 +++
+ src/modules/module-pipe-sink.c | 3 +-
+ src/modules/module-pipe-source.c | 3 +-
+ src/modules/module-position-event-sounds.c | 18 +-
+ src/modules/module-remap-sink.c | 3 +
+ src/modules/module-solaris.c | 2 +-
+ src/modules/module-stream-restore.c | 2090 +++++++++++++++++++-
+ src/modules/module-udev-detect.c | 2 +-
+ src/modules/oss/oss-util.c | 18 +-
+ src/modules/rtp/module-rtp-recv.c | 2 +-
+ src/modules/rtp/module-rtp-send.c | 6 +-
+ src/modules/x11/module-x11-publish.c | 42 +-
+ 24 files changed, 6617 insertions(+), 229 deletions(-)
+ create mode 100644 src/modules/module-device-manager.c
+ create mode 100644 src/modules/module-equalizer-sink.c
+ create mode 100644 src/modules/module-null-source.c
+
+diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c
+index f8c5b77..47d6200 100644
+--- a/src/modules/bluetooth/bluetooth-util.c
++++ b/src/modules/bluetooth/bluetooth-util.c
+@@ -723,12 +723,14 @@ const pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_di
+
+ while ((d = pa_hashmap_iterate(y->devices, &state, NULL)))
+ if (pa_streq(d->address, address))
+- return d;
++ return device_is_audio(d) ? d : NULL;
+
+ return NULL;
+ }
+
+ const pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *y, const char* path) {
++ pa_bluetooth_device *d;
++
+ pa_assert(y);
+ pa_assert(PA_REFCNT_VALUE(y) > 0);
+ pa_assert(path);
+@@ -736,7 +738,11 @@ const pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_disco
+ if (!pa_hook_is_firing(&y->hook))
+ pa_bluetooth_discovery_sync(y);
+
+- return pa_hashmap_get(y->devices, path);
++ if ((d = pa_hashmap_get(y->devices, path)))
++ if (device_is_audio(d))
++ return d;
++
++ return NULL;
+ }
+
+ static int setup_dbus(pa_bluetooth_discovery *y) {
+diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
+index 4592fca..fdd6e22 100644
+--- a/src/modules/bluetooth/module-bluetooth-device.c
++++ b/src/modules/bluetooth/module-bluetooth-device.c
+@@ -41,6 +41,7 @@
+ #include <pulsecore/core-rtclock.h>
+ #include <pulsecore/core-util.h>
+ #include <pulsecore/core-error.h>
++#include <pulsecore/shared.h>
+ #include <pulsecore/socket-util.h>
+ #include <pulsecore/thread.h>
+ #include <pulsecore/thread-mq.h>
+@@ -48,6 +49,7 @@
+ #include <pulsecore/time-smoother.h>
+ #include <pulsecore/namereg.h>
+ #include <pulsecore/dbus-shared.h>
++#include <pulsecore/play-memblockq.h>
+
+ #include "module-bluetooth-device-symdef.h"
+ #include "ipc.h"
+@@ -74,7 +76,8 @@ PA_MODULE_USAGE(
+ "profile=<a2dp|hsp> "
+ "rate=<sample rate> "
+ "channels=<number of channels> "
+- "path=<device object path>");
++ "path=<device object path> "
++ "auto_connect=<automatically connect?>");
+
+ /*
+ #ifdef NOKIA
+@@ -84,6 +87,9 @@ PA_MODULE_USAGE(
+ */
+
+ /* TODO: not close fd when entering suspend mode in a2dp */
++enum {
++ PA_WAKER_SINK_INPUT_CORK = PA_SINK_INPUT_MESSAGE_MAX + 1,
++};
+
+ static const char* const valid_modargs[] = {
+ "name",
+@@ -98,6 +104,7 @@ static const char* const valid_modargs[] = {
+ "rate",
+ "channels",
+ "path",
++ "auto_connect",
+ #ifdef NOKIA
+ "sco_sink",
+ "sco_source",
+@@ -121,7 +128,9 @@ struct hsp_info {
+ pcm_capabilities_t pcm_capabilities;
+ #ifdef NOKIA
+ pa_sink *sco_sink;
++ void (*sco_sink_set_volume)(pa_sink *s);
+ pa_source *sco_source;
++ void (*sco_source_set_volume)(pa_source *s);
+ #endif
+ pa_hook_slot *sink_state_changed_slot;
+ pa_hook_slot *source_state_changed_slot;
+@@ -141,6 +150,7 @@ struct userdata {
+ char *address;
+ char *path;
+ pa_bluetooth_discovery *discovery;
++ pa_bool_t auto_connect;
+
+ pa_dbus_connection *connection;
+
+@@ -176,6 +186,7 @@ struct userdata {
+
+ int stream_write_type;
+ int service_write_type, service_read_type;
++ pa_sink_input* waker_sink_input;
+ };
+
+ #define FIXED_LATENCY_PLAYBACK_A2DP (25*PA_USEC_PER_MSEC)
+@@ -185,6 +196,8 @@ struct userdata {
+
+ #define MAX_PLAYBACK_CATCH_UP_USEC (100*PA_USEC_PER_MSEC)
+
++#define CURRENT_HSP_DEVICE_KEY "current-hsp-device" /* Key to core->shared. */
++
+ #ifdef NOKIA
+ #define USE_SCO_OVER_PCM(u) (u->profile == PROFILE_HSP && (u->hsp.sco_sink && u->hsp.sco_source))
+ #endif
+@@ -399,7 +412,7 @@ static int get_caps(struct userdata *u, uint8_t seid) {
+ pa_assert(u->profile == PROFILE_HSP);
+ msg.getcaps_req.transport = BT_CAPABILITIES_TRANSPORT_SCO;
+ }
+- msg.getcaps_req.flags = BT_FLAG_AUTOCONNECT;
++ msg.getcaps_req.flags = u->auto_connect ? BT_FLAG_AUTOCONNECT : 0;
+
+ if (service_send(u, &msg.getcaps_req.h) < 0)
+ return -1;
+@@ -1504,17 +1517,20 @@ static void thread_func(void *userdata) {
+ writable = FALSE;
+ }
+
+- if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0 && writable) {
+- pa_usec_t time_passed, next_write_at, sleep_for;
+-
+- /* Hmm, there is no input stream we could synchronize
+- * to. So let's estimate when we need to wake up the latest */
+-
+- time_passed = pa_rtclock_now() - u->started_at;
+- next_write_at = pa_bytes_to_usec(u->write_index, &u->sample_spec);
+- sleep_for = time_passed < next_write_at ? next_write_at - time_passed : 0;
+-
+-/* pa_log("Sleeping for %lu; time passed %lu, next write at %lu", (unsigned long) sleep_for, (unsigned long) time_passed, (unsigned long)next_write_at); */
++ if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0) {
++ pa_usec_t sleep_for;
++ pa_usec_t time_passed, next_write_at;
++
++ if (writable) {
++ /* Hmm, there is no input stream we could synchronize
++ * to. So let's estimate when we need to wake up the latest */
++ time_passed = pa_rtclock_now() - u->started_at;
++ next_write_at = pa_bytes_to_usec(u->write_index, &u->sample_spec);
++ sleep_for = time_passed < next_write_at ? next_write_at - time_passed : 0;
++ /* pa_log("Sleeping for %lu; time passed %lu, next write at %lu", (unsigned long) sleep_for, (unsigned long) time_passed, (unsigned long)next_write_at); */
++ } else
++ /* drop stream every 500 ms */
++ sleep_for = PA_USEC_PER_MSEC * 500;
+
+ pa_rtpoll_set_timer_relative(u->rtpoll, sleep_for);
+ disable_timer = FALSE;
+@@ -1558,6 +1574,9 @@ finish:
+ pa_log_debug("IO thread shutting down");
+ }
(8036 more lines skipped)
++++++ pa-0.9.19-mfld-folder-pulse.patch (new)
--- pa-0.9.19-mfld-folder-pulse.patch
+++ pa-0.9.19-mfld-folder-pulse.patch
+From 5d595b023a13a4427e50c209286ab0501292d6ea Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 11:10:02 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/pulse/client-conf-x11.c | 30 ++--
+ src/pulse/client-conf.c | 5 +-
+ src/pulse/client-conf.h | 3 +-
+ src/pulse/client.conf.in | 3 +
+ src/pulse/context.c | 83 +++++++-
+ src/pulse/context.h | 22 ++-
+ src/pulse/def.h | 18 ++-
+ src/pulse/ext-device-manager.c | 437 ++++++++++++++++++++++++++++++++++++++++
+ src/pulse/ext-device-manager.h | 128 ++++++++++++
+ src/pulse/ext-stream-restore.c | 119 +++++++++--
+ src/pulse/ext-stream-restore.h | 43 ++++-
+ src/pulse/internal.h | 13 +-
+ src/pulse/mainloop-signal.c | 4 +-
+ src/pulse/mainloop.c | 4 +-
+ src/pulse/proplist.c | 29 +++
+ src/pulse/proplist.h | 6 +-
+ src/pulse/stream.c | 56 ++++--
+ src/pulse/stream.h | 19 ++-
+ 18 files changed, 948 insertions(+), 74 deletions(-)
+ create mode 100644 src/pulse/ext-device-manager.c
+ create mode 100644 src/pulse/ext-device-manager.h
+
+diff --git a/src/pulse/client-conf-x11.c b/src/pulse/client-conf-x11.c
+index 4970363..76b1b7b 100644
+--- a/src/pulse/client-conf-x11.c
++++ b/src/pulse/client-conf-x11.c
+@@ -25,8 +25,7 @@
+
+ #include <string.h>
+
+-#include <X11/Xlib.h>
+-#include <X11/Xatom.h>
++#include <xcb/xcb.h>
+
+ #include <pulse/xmalloc.h>
+ #include <pulse/i18n.h>
+@@ -39,8 +38,8 @@
+ #include "client-conf-x11.h"
+
+ int pa_client_conf_from_x11(pa_client_conf *c, const char *dname) {
+- Display *d = NULL;
+- int ret = -1;
++ xcb_connection_t *xcb = NULL;
++ int ret = -1, screen = 0;
+ char t[1024];
+
+ pa_assert(c);
+@@ -51,18 +50,23 @@ int pa_client_conf_from_x11(pa_client_conf *c, const char *dname) {
+ if (*dname == 0)
+ goto finish;
+
+- if (!(d = XOpenDisplay(dname))) {
+- pa_log(_("XOpenDisplay() failed"));
++ if (!(xcb = xcb_connect(dname, NULL))) {
++ pa_log(_("xcb_connect() failed"));
+ goto finish;
+ }
+
+- if (pa_x11_get_prop(d, "PULSE_SERVER", t, sizeof(t))) {
++ if (xcb_connection_has_error(xcb)) {
++ pa_log(_("xcb_connection_has_error() returned true"));
++ goto finish;
++ }
++
++ if (pa_x11_get_prop(xcb, screen, "PULSE_SERVER", t, sizeof(t))) {
+ pa_bool_t disable_autospawn = TRUE;
+
+ pa_xfree(c->default_server);
+ c->default_server = pa_xstrdup(t);
+
+- if (pa_x11_get_prop(d, "PULSE_SESSION_ID", t, sizeof(t))) {
++ if (pa_x11_get_prop(xcb, screen, "PULSE_SESSION_ID", t, sizeof(t))) {
+ char *id;
+
+ if ((id = pa_session_id())) {
+@@ -76,17 +80,17 @@ int pa_client_conf_from_x11(pa_client_conf *c, const char *dname) {
+ c->autospawn = FALSE;
+ }
+
+- if (pa_x11_get_prop(d, "PULSE_SINK", t, sizeof(t))) {
++ if (pa_x11_get_prop(xcb, screen, "PULSE_SINK", t, sizeof(t))) {
+ pa_xfree(c->default_sink);
+ c->default_sink = pa_xstrdup(t);
+ }
+
+- if (pa_x11_get_prop(d, "PULSE_SOURCE", t, sizeof(t))) {
++ if (pa_x11_get_prop(xcb, screen, "PULSE_SOURCE", t, sizeof(t))) {
+ pa_xfree(c->default_source);
+ c->default_source = pa_xstrdup(t);
+ }
+
+- if (pa_x11_get_prop(d, "PULSE_COOKIE", t, sizeof(t))) {
++ if (pa_x11_get_prop(xcb, screen, "PULSE_COOKIE", t, sizeof(t))) {
+ uint8_t cookie[PA_NATIVE_COOKIE_LENGTH];
+
+ if (pa_parsehex(t, cookie, sizeof(cookie)) != sizeof(cookie)) {
+@@ -106,8 +110,8 @@ int pa_client_conf_from_x11(pa_client_conf *c, const char *dname) {
+ ret = 0;
+
+ finish:
+- if (d)
+- XCloseDisplay(d);
++ if (xcb)
++ xcb_disconnect(xcb);
+
+ return ret;
+
+diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
+index 4aa4ba1..3eaca4d 100644
+--- a/src/pulse/client-conf.c
++++ b/src/pulse/client-conf.c
+@@ -57,6 +57,7 @@ static const pa_client_conf default_conf = {
+ .default_sink = NULL,
+ .default_source = NULL,
+ .default_server = NULL,
++ .default_dbus_server = NULL,
+ .autospawn = TRUE,
+ .disable_shm = FALSE,
+ .cookie_file = NULL,
+@@ -81,6 +82,7 @@ void pa_client_conf_free(pa_client_conf *c) {
+ pa_xfree(c->default_sink);
+ pa_xfree(c->default_source);
+ pa_xfree(c->default_server);
++ pa_xfree(c->default_dbus_server);
+ pa_xfree(c->cookie_file);
+ pa_xfree(c);
+ }
+@@ -97,6 +99,7 @@ int pa_client_conf_load(pa_client_conf *c, const char *filename) {
+ { "default-sink", pa_config_parse_string, &c->default_sink, NULL },
+ { "default-source", pa_config_parse_string, &c->default_source, NULL },
+ { "default-server", pa_config_parse_string, &c->default_server, NULL },
++ { "default-dbus-server", pa_config_parse_string, &c->default_dbus_server, NULL },
+ { "autospawn", pa_config_parse_bool, &c->autospawn, NULL },
+ { "cookie-file", pa_config_parse_string, &c->cookie_file, NULL },
+ { "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
+@@ -107,7 +110,7 @@ int pa_client_conf_load(pa_client_conf *c, const char *filename) {
+
+ if (filename) {
+
+- if (!(f = fopen(filename, "r"))) {
++ if (!(f = pa_fopen_cloexec(filename, "r"))) {
+ pa_log(_("Failed to open configuration file '%s': %s"), fn, pa_cstrerror(errno));
+ goto finish;
+ }
+diff --git a/src/pulse/client-conf.h b/src/pulse/client-conf.h
+index ab97dc6..618216f 100644
+--- a/src/pulse/client-conf.h
++++ b/src/pulse/client-conf.h
+@@ -22,12 +22,13 @@
+ USA.
+ ***/
+
++#include <pulsecore/macro.h>
+ #include <pulsecore/native-common.h>
+
+ /* A structure containing configuration data for PulseAudio clients. */
+
+ typedef struct pa_client_conf {
+- char *daemon_binary, *extra_arguments, *default_sink, *default_source, *default_server, *cookie_file;
++ char *daemon_binary, *extra_arguments, *default_sink, *default_source, *default_server, *default_dbus_server, *cookie_file;
+ pa_bool_t autospawn, disable_shm;
+ uint8_t cookie[PA_NATIVE_COOKIE_LENGTH];
+ pa_bool_t cookie_valid; /* non-zero, when cookie is valid */
+diff --git a/src/pulse/client.conf.in b/src/pulse/client.conf.in
+index 6c8d371..44ad196 100644
+--- a/src/pulse/client.conf.in
++++ b/src/pulse/client.conf.in
+@@ -22,12 +22,15 @@
+ ; default-sink =
+ ; default-source =
+ ; default-server =
++; default-dbus-server =
+
+ ; autospawn = yes
++autospawn = no
+ ; daemon-binary = @PA_BINARY@
+ ; extra-arguments = --log-target=syslog
+
+ ; cookie-file =
+
+ ; enable-shm = yes
++disable-shm = yes
+ ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
+diff --git a/src/pulse/context.c b/src/pulse/context.c
+index 23ae30c..1d617c0 100644
+--- a/src/pulse/context.c
++++ b/src/pulse/context.c
+@@ -63,7 +63,7 @@
+ #include <pulsecore/native-common.h>
(1510 more lines skipped)
++++++ pa-0.9.19-mfld-folder-pulsecore.patch (new)
--- pa-0.9.19-mfld-folder-pulsecore.patch
+++ pa-0.9.19-mfld-folder-pulsecore.patch
+From c8c24bc237075814d6fbb0d1f47eda5a169a4844 Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 11:26:20 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/pulsecore/authkey.c | 10 +-
+ src/pulsecore/call-state-tracker.c | 127 ++++
+ src/pulsecore/call-state-tracker.h | 60 ++
+ src/pulsecore/cli-command.c | 4 +-
+ src/pulsecore/cli-text.c | 20 +-
+ src/pulsecore/conf-parser.c | 2 +-
+ src/pulsecore/core-rtclock.c | 54 ++-
+ src/pulsecore/core-util.c | 215 +++++++-
+ src/pulsecore/core-util.h | 20 +
+ src/pulsecore/core.h | 9 +
+ src/pulsecore/cpu-arm.c | 2 +-
+ src/pulsecore/cpu-arm.h | 2 +-
+ src/pulsecore/cpu-x86.h | 2 +-
+ src/pulsecore/database-simple.c | 4 +-
+ src/pulsecore/database-tdb.c | 43 +-
+ src/pulsecore/dbus-util.c | 352 +++++++++++
+ src/pulsecore/dbus-util.h | 43 ++
+ src/pulsecore/fdsem.c | 13 +-
+ src/pulsecore/lock-autospawn.c | 5 +-
+ src/pulsecore/log.c | 3 +-
+ src/pulsecore/memblock.c | 2 +-
+ src/pulsecore/modargs.c | 10 +
+ src/pulsecore/modargs.h | 9 +
+ src/pulsecore/native-common.h | 1 +
+ src/pulsecore/pid.c | 7 +-
+ src/pulsecore/protocol-dbus.c | 1169 ++++++++++++++++++++++++++++++++++++
+ src/pulsecore/protocol-dbus.h | 218 +++++++
+ src/pulsecore/protocol-native.c | 146 ++++-
+ src/pulsecore/protocol-native.h | 6 +-
+ src/pulsecore/random.c | 6 +-
+ src/pulsecore/sample-util.c | 2 +-
+ src/pulsecore/semaphore-osx.c | 63 ++
+ src/pulsecore/sink-input.c | 37 +-
+ src/pulsecore/sink-input.h | 2 +
+ src/pulsecore/sink.c | 587 +++++++++++++++---
+ src/pulsecore/sink.h | 44 ++-
+ src/pulsecore/sndfile-util.c | 6 +-
+ src/pulsecore/socket-client.c | 4 +-
+ src/pulsecore/socket-server.c | 16 +-
+ src/pulsecore/socket-util.c | 30 +-
+ src/pulsecore/sound-file-stream.c | 6 +-
+ src/pulsecore/sound-file.c | 6 +-
+ src/pulsecore/source.c | 9 +-
+ src/pulsecore/strlist.c | 37 ++
+ src/pulsecore/strlist.h | 9 +
+ src/pulsecore/svolume_mmx.c | 15 +-
+ src/pulsecore/svolume_sse.c | 14 +-
+ src/pulsecore/time-smoother.c | 7 +
+ src/pulsecore/volume-proxy.c | 158 +++++
+ src/pulsecore/volume-proxy.h | 57 ++
+ src/pulsecore/x11prop.c | 108 +++-
+ src/pulsecore/x11prop.h | 9 +-
+ src/pulsecore/x11wrap.c | 4 +
+ src/pulsecore/x11wrap.h | 4 +
+ 54 files changed, 3532 insertions(+), 266 deletions(-)
+ create mode 100644 src/pulsecore/call-state-tracker.c
+ create mode 100644 src/pulsecore/call-state-tracker.h
+ create mode 100644 src/pulsecore/protocol-dbus.c
+ create mode 100644 src/pulsecore/protocol-dbus.h
+ create mode 100644 src/pulsecore/semaphore-osx.c
+ create mode 100644 src/pulsecore/volume-proxy.c
+ create mode 100644 src/pulsecore/volume-proxy.h
+
+diff --git a/src/pulsecore/authkey.c b/src/pulsecore/authkey.c
+index 15613e2..d671e36 100644
+--- a/src/pulsecore/authkey.c
++++ b/src/pulsecore/authkey.c
+@@ -70,10 +70,6 @@ static int generate(int fd, void *ret_data, size_t length) {
+ #define O_BINARY 0
+ #endif
+
+-#ifndef O_NOCTTY
+-#define O_NOCTTY 0
+-#endif
+-
+ /* Load an euthorization cookie from file fn and store it in data. If
+ * the cookie file doesn't exist, create it */
+ static int load(const char *fn, void *data, size_t length) {
+@@ -86,9 +82,9 @@ static int load(const char *fn, void *data, size_t length) {
+ pa_assert(data);
+ pa_assert(length > 0);
+
+- if ((fd = open(fn, O_RDWR|O_CREAT|O_BINARY|O_NOCTTY, S_IRUSR|S_IWUSR)) < 0) {
++ if ((fd = pa_open_cloexec(fn, O_RDWR|O_CREAT|O_BINARY, S_IRUSR|S_IWUSR)) < 0) {
+
+- if (errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY|O_NOCTTY)) < 0) {
++ if (errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY)) < 0) {
+ pa_log_warn("Failed to open cookie file '%s': %s", fn, pa_cstrerror(errno));
+ goto finish;
+ } else
+@@ -204,7 +200,7 @@ int pa_authkey_save(const char *fn, const void *data, size_t length) {
+ if (!(p = normalize_path(fn)))
+ return -2;
+
+- if ((fd = open(p, O_RDWR|O_CREAT|O_NOCTTY, S_IRUSR|S_IWUSR)) < 0) {
++ if ((fd = pa_open_cloexec(p, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR)) < 0) {
+ pa_log_warn("Failed to open cookie file '%s': %s", fn, pa_cstrerror(errno));
+ goto finish;
+ }
+diff --git a/src/pulsecore/call-state-tracker.c b/src/pulsecore/call-state-tracker.c
+new file mode 100644
+index 0000000..a605685
+--- /dev/null
++++ b/src/pulsecore/call-state-tracker.c
+@@ -0,0 +1,127 @@
++/***
++ This file is part of PulseAudio.
++
++ Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
++
++ PulseAudio is free software; you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as published
++ by the Free Software Foundation; either version 2.1 of the License,
++ or (at your option) any later version.
++
++ PulseAudio is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with PulseAudio; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
++ USA.
++***/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <pulsecore/core.h>
++#include <pulsecore/hook-list.h>
++#include <pulsecore/log.h>
++#include <pulsecore/macro.h>
++#include <pulsecore/refcnt.h>
++#include <pulsecore/shared.h>
++
++#include "call-state-tracker.h"
++
++struct pa_call_state_tracker {
++ PA_REFCNT_DECLARE;
++
++ pa_core *core;
++ pa_bool_t active;
++ pa_hook hooks[PA_CALL_STATE_HOOK_MAX];
++};
++
++static pa_call_state_tracker* call_state_tracker_new(pa_core *c) {
++ pa_call_state_tracker *t;
++ pa_call_state_hook_t h;
++
++ pa_assert(c);
++
++ t = pa_xnew0(pa_call_state_tracker, 1);
++ PA_REFCNT_INIT(t);
++ t->core = pa_core_ref(c);
++ t->active = FALSE;
++
++ for (h = 0; h < PA_CALL_STATE_HOOK_MAX; h++)
++ pa_hook_init(&t->hooks[h], t);
++
++ pa_assert_se(pa_shared_set(c, "call-state-tracker", t) >= 0);
++
++ return t;
++}
++
++pa_call_state_tracker *pa_call_state_tracker_get(pa_core *core) {
++ pa_call_state_tracker *t;
++
++ if ((t = pa_shared_get(core, "call-state-tracker")))
++ return pa_call_state_tracker_ref(t);
++
++ return call_state_tracker_new(core);
++}
++
++pa_call_state_tracker *pa_call_state_tracker_ref(pa_call_state_tracker *t) {
++ pa_assert(t);
++ pa_assert(PA_REFCNT_VALUE(t) >= 1);
++
++ PA_REFCNT_INC(t);
++
++ return t;
++}
++
++void pa_call_state_tracker_unref(pa_call_state_tracker *t) {
++ pa_call_state_hook_t h;
++
++ pa_assert(t);
++ pa_assert(PA_REFCNT_VALUE(t) >= 1);
(5346 more lines skipped)
++++++ pa-0.9.19-mfld-folder-src.patch (new)
--- pa-0.9.19-mfld-folder-src.patch
+++ pa-0.9.19-mfld-folder-src.patch
+From 7ac33c543a5a38bd94da12211a7fe7e4a6210afd Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 11:33:37 +0100
+Subject: [PATCH] Pulseaudio : specific patch for mfld platform
+
+Specific patch for mfld platform based on pa-0.9.19
+BMC#11252
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ src/Makefile.am | 214 ++++++++++++++++++++++++--------
+ src/map-file | 12 ++
+ src/tests/interpol-test.c | 1 -
+ src/tests/resampler-test.c | 200 ++++++++++++++++++++++++++++-
+ src/tests/strlist-test.c | 9 ++
+ src/utils/pacat.c | 97 ++++++++++----
+ src/utils/pacmd.c | 2 +-
+ src/utils/pactl.c | 296 +++++++++++++++++++++++++++++++++++++++++++-
+ src/utils/pasuspender.c | 2 -
+ src/utils/pax11publish.c | 74 ++++++-----
+ 10 files changed, 775 insertions(+), 132 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 6544e2a..57f055a 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -33,6 +33,7 @@ alsaprofilesetsdir=$(datadir)/pulseaudio/alsa-mixer/profile-sets
+ alsapathsdir=$(datadir)/pulseaudio/alsa-mixer/paths
+ udevrulesdir=/lib/udev/rules.d
+ dbuspolicydir=$(sysconfdir)/dbus-1/system.d
++pulsetestdir=$(libexecdir)/pulse-tests
+
+ ###################################
+ # Defines #
+@@ -70,6 +71,8 @@ AM_CFLAGS = \
+ -I$(top_builddir)/src/modules/x11 \
+ -I$(top_srcdir)/src/modules/jack \
+ -I$(top_builddir)/src/modules/jack \
++ -I$(top_srcdir)/src/modules/dbus \
++ -I$(top_builddir)/src/modules/dbus \
+ $(PTHREAD_CFLAGS) -D_POSIX_PTHREAD_SEMANTICS \
+ $(LIBSAMPLERATE_CFLAGS) \
+ $(LIBSNDFILE_CFLAGS) \
+@@ -84,8 +87,8 @@ AM_CFLAGS = \
+ -DAO_REQUIRE_CAS \
+ -DPULSE_LOCALEDIR=\"$(pulselocaledir)\" \
+ -DPA_MACHINE_ID=\"$(localstatedir)/lib/dbus/machine-id\" \
+- -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
+- -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
++ -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
++ -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
+
+ AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
+ AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
+@@ -117,9 +120,11 @@ EXTRA_DIST = \
+ depmod.py \
+ daemon/esdcompat.in \
+ daemon/start-pulseaudio-x11.in \
++ daemon/start-pulseaudio-kde.in \
+ utils/padsp \
+ modules/module-defs.h.m4 \
+ daemon/pulseaudio.desktop.in \
++ daemon/pulseaudio-kde.desktop.in \
+ map-file \
+ daemon/pulseaudio-system.conf \
+ modules/alsa/mixer/profile-sets/default.conf \
+@@ -137,8 +142,10 @@ EXTRA_DIST = \
+ modules/alsa/mixer/paths/analog-input-tvtuner.conf \
+ modules/alsa/mixer/paths/analog-input-video.conf \
+ modules/alsa/mixer/paths/analog-output.conf \
++ modules/alsa/mixer/paths/analog-output-speaker.conf \
+ modules/alsa/mixer/paths/analog-output.conf.common \
+ modules/alsa/mixer/paths/analog-output-headphones.conf \
++ modules/alsa/mixer/paths/analog-output-headphones-2.conf \
+ modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf \
+ modules/alsa/mixer/paths/analog-output-mono.conf
+
+@@ -153,7 +160,8 @@ dbuspolicy_DATA = \
+
+ if HAVE_X11
+ xdgautostart_in_files = \
+- daemon/pulseaudio.desktop.in
++ daemon/pulseaudio.desktop.in \
++ daemon/pulseaudio-kde.desktop.in
+ endif
+ xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop)
+ @INTLTOOL_DESKTOP_RULE@
+@@ -169,7 +177,7 @@ BUILT_SOURCES = \
+ bin_PROGRAMS = pulseaudio
+
+ pulseaudio_SOURCES = \
+- daemon/caps.h daemon/caps.c \
++ daemon/caps.c daemon/caps.h \
+ daemon/cmdline.c daemon/cmdline.h \
+ daemon/cpulimit.c daemon/cpulimit.h \
+ daemon/daemon-conf.c daemon/daemon-conf.h \
+@@ -177,11 +185,17 @@ pulseaudio_SOURCES = \
+ daemon/ltdl-bind-now.c daemon/ltdl-bind-now.h \
+ daemon/main.c
+
+-pulseaudio_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(CAP_CFLAGS) $(DBUS_CFLAGS)
+-pulseaudio_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINORMICRO@.la libpulsecommon- at PA_MAJORMINORMICRO@.la libpulse.la $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(CAP_LIBS) $(DBUS_LIBS)
++pulseaudio_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(CAP_CFLAGS)
++pulseaudio_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINORMICRO@.la libpulsecommon- at PA_MAJORMINORMICRO@.la libpulse.la $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(CAP_LIBS)
+ # This is needed because automake doesn't properly expand the foreach below
+ pulseaudio_DEPENDENCIES = libpulsecore- at PA_MAJORMINORMICRO@.la libpulsecommon- at PA_MAJORMINORMICRO@.la libpulse.la $(PREOPEN_LIBS)
+
++if HAVE_DBUS
++pulseaudio_CFLAGS += $(DBUS_CFLAGS)
++pulseaudio_SOURCES += daemon/server-lookup.c daemon/server-lookup.h
++pulseaudio_LDADD += $(DBUS_LIBS)
++endif
++
+ if PREOPEN_MODS
+ PREOPEN_LIBS = $(PREOPEN_MODS)
+ else
+@@ -189,7 +203,7 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)
+ endif
+
+ if FORCE_PREOPEN
+-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) -Wl,--rpath -Wl,./.libs -Wl,-rpath-link -Wl,$(libdir)
+ else
+ pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
+ endif
+@@ -215,7 +229,7 @@ if HAVE_AVAHI
+ bin_PROGRAMS += pabrowse
+ endif
+
+-bin_SCRIPTS = esdcompat start-pulseaudio-x11
++bin_SCRIPTS = esdcompat start-pulseaudio-x11 start-pulseaudio-kde
+
+ pacat_SOURCES = utils/pacat.c
+ pacat_LDADD = $(AM_LDADD) libpulse.la libpulsecommon- at PA_MAJORMINORMICRO@.la $(LIBSNDFILE_LIBS)
+@@ -283,7 +297,7 @@ TESTS = \
+ sigbus-test \
+ usergroup-test
+
+-TESTS_BINARIES = \
++pulsetest_PROGRAMS = \
+ mainloop-test \
+ mcalign-test \
+ pacat-simple \
+@@ -326,7 +340,7 @@ if HAVE_SIGXCPU
+ #TESTS += \
+ # cpulimit-test \
+ # cpulimit-test2
+-TESTS_BINARIES += \
++pulsetest_PROGRAMS += \
+ cpulimit-test \
+ cpulimit-test2
+ endif
+@@ -334,17 +348,17 @@ endif
+ if HAVE_GLIB20
+ TESTS += \
+ mainloop-test-glib
+-TESTS_BINARIES += \
++pulsetest_PROGRAMS += \
+ mainloop-test-glib
+ endif
+
+ if HAVE_GTK20
+-TESTS_BINARIES += \
++pulsetest_PROGRAMS += \
+ gtk-test
+ endif
+
+ if HAVE_ALSA
+-TESTS_BINARIES += \
++pulsetest_PROGRAMS += \
+ alsa-time-test
+ endif
+
+@@ -356,7 +370,7 @@ endif
+
+ mainloop_test_SOURCES = tests/mainloop-test.c
+ mainloop_test_CFLAGS = $(AM_CFLAGS)
+-mainloop_test_LDADD = $(AM_LDADD) libpulse.la
++mainloop_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon- at PA_MAJORMINORMICRO@.la
+ mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+ thread_mainloop_test_SOURCES = tests/thread-mainloop-test.c
+@@ -366,107 +380,107 @@ thread_mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+ utf8_test_SOURCES = tests/utf8-test.c
+ utf8_test_CFLAGS = $(AM_CFLAGS)
+-utf8_test_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINORMICRO@.la libpulsecommon- at PA_MAJORMINORMICRO@.la
++utf8_test_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINORMICRO@.la libpulse.la libpulsecommon- at PA_MAJORMINORMICRO@.la
+ utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+ get_binary_name_test_SOURCES = tests/get-binary-name-test.c
+ get_binary_name_test_CFLAGS = $(AM_CFLAGS)
+-get_binary_name_test_LDADD = $(AM_LDADD) libpulse.la
++get_binary_name_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon- at PA_MAJORMINORMICRO@.la
+ get_binary_name_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+ ipacl_test_SOURCES = tests/ipacl-test.c
+ ipacl_test_CFLAGS = $(AM_CFLAGS)
+-ipacl_test_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINORMICRO@.la libpulsecommon- at PA_MAJORMINORMICRO@.la
(1602 more lines skipped)
++++++ pa-0.9.19-mfld-pulseaudio-pc-in.patch (new)
--- pa-0.9.19-mfld-pulseaudio-pc-in.patch
+++ pa-0.9.19-mfld-pulseaudio-pc-in.patch
+From 33b34a7b94c0b1a35d1c5c62d923181550a827cf Mon Sep 17 00:00:00 2001
+From: Fabien Barthes <fabienx.barthes at intel.com>
+Date: Tue, 14 Dec 2010 17:34:08 +0100
+Subject: [PATCH] t
+ Signed-off-by: Fabien Barthes <fabienx.barthes at intel.com>
+
+---
+ pulsecore.pc.in | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+ create mode 100644 pulsecore.pc.in
+
+diff --git a/pulsecore.pc.in b/pulsecore.pc.in
+new file mode 100644
+index 0000000..8f39d59
+--- /dev/null
++++ b/pulsecore.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=${prefix}
++libdir=@libdir@
++includedir=${prefix}/include
++libexecdir=@libexecdir@
++pulsetestdir=${libexecdir}/pulse-tests
++
++Name: pulsecore
++Description: Module building interface for pulseaudio
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lpulsecore- at PA_MAJORMINORMICRO@ -lpulsecommon- at PA_MAJORMINORMICRO@ -lpulse @PTHREAD_LIBS@
++Cflags: -D_REENTRANT -I${includedir} -I${includedir}/pulsecore/modules
+--
+1.7.2.3
+
++++++ pa-0.9.19-mfld-sync-with-official-pa.path (new)
--- pa-0.9.19-mfld-sync-with-official-pa.path
+++ pa-0.9.19-mfld-sync-with-official-pa.path
+From 9e4747dc7eeca0fcc6131eb38d9795a7ed4955e6 Mon Sep 17 00:00:00 2001
+From: FBarthes <fabienx.barthes at intel.com>
+Date: Mon, 13 Dec 2010 11:31:37 +0100
+Subject: [PATCH] Pulseaudio : Patches for sync with OBS pa-0.9.19
+
+Add somes files on official pa-0.9.19 for preparing a patch to deliver
+linked to job work BMC#11176
+Signed-off-by: FBarthes <fabienx.barthes at intel.com>
+---
+ .../mixer/samples/ATI IXP--Realtek ALC655 rev 0 | 150 +
+ .../alsa/mixer/samples/Brooktree Bt878--Bt87x | 24 +
+ .../Ensoniq AudioPCI--Cirrus Logic CS4297A rev 3 | 135 +
+ .../alsa/mixer/samples/HDA ATI HDMI--ATI R6xx HDMI | 4 +
+ .../mixer/samples/HDA Intel--Analog Devices AD1981 | 62 +
+ .../alsa/mixer/samples/HDA Intel--Realtek ALC889A | 113 +
+ .../Intel 82801CA-ICH3--Analog Devices AD1881A | 128 +
+ .../mixer/samples/Logitech USB Speaker--USB Mixer | 27 +
+ .../alsa/mixer/samples/USB Audio--USB Mixer | 37 +
+ .../samples/USB Device 0x46d:0x9a4--USB Mixer | 5 +
+ .../mixer/samples/VIA 8237--Analog Devices AD1888 | 211 +
+ .../VIA 8237--C-Media Electronics CMI9761A+ | 160 +
+ src/modules/module-waveout.c | 647 +++
+ src/modules/rtp/rfc2327.txt | 2355 ++++++++
+ src/modules/rtp/rfc2974.txt | 1011 ++++
+ src/modules/rtp/rfc3550.txt | 5827 ++++++++++++++++++++
+ src/modules/rtp/rfc3551.txt | 2467 +++++++++
+ src/pulsecore/shmasyncq.c | 220 +
+ src/pulsecore/shmasyncq.h | 60 +
+ src/tests/volume-ui.py | 282 +
+ 20 files changed, 13925 insertions(+), 0 deletions(-)
+ create mode 100644 src/modules/alsa/mixer/samples/ATI IXP--Realtek ALC655 rev 0
+ create mode 100644 src/modules/alsa/mixer/samples/Brooktree Bt878--Bt87x
+ create mode 100644 src/modules/alsa/mixer/samples/Ensoniq AudioPCI--Cirrus Logic CS4297A rev 3
+ create mode 100644 src/modules/alsa/mixer/samples/HDA ATI HDMI--ATI R6xx HDMI
+ create mode 100644 src/modules/alsa/mixer/samples/HDA Intel--Analog Devices AD1981
+ create mode 100644 src/modules/alsa/mixer/samples/HDA Intel--Realtek ALC889A
+ create mode 100644 src/modules/alsa/mixer/samples/Intel 82801CA-ICH3--Analog Devices AD1881A
+ create mode 100644 src/modules/alsa/mixer/samples/Logitech USB Speaker--USB Mixer
+ create mode 100644 src/modules/alsa/mixer/samples/USB Audio--USB Mixer
+ create mode 100644 src/modules/alsa/mixer/samples/USB Device 0x46d:0x9a4--USB Mixer
+ create mode 100644 src/modules/alsa/mixer/samples/VIA 8237--Analog Devices AD1888
+ create mode 100644 src/modules/alsa/mixer/samples/VIA 8237--C-Media Electronics CMI9761A+
+ create mode 100644 src/modules/module-waveout.c
+ create mode 100644 src/modules/rtp/rfc2327.txt
+ create mode 100644 src/modules/rtp/rfc2974.txt
+ create mode 100644 src/modules/rtp/rfc3550.txt
+ create mode 100644 src/modules/rtp/rfc3551.txt
+ create mode 100644 src/pulsecore/shmasyncq.c
+ create mode 100644 src/pulsecore/shmasyncq.h
+ create mode 100644 src/tests/volume-ui.py
+
+diff --git a/src/modules/alsa/mixer/samples/ATI IXP--Realtek ALC655 rev 0 b/src/modules/alsa/mixer/samples/ATI IXP--Realtek ALC655 rev 0
+new file mode 100644
+index 0000000..082c9a1
+--- /dev/null
++++ b/src/modules/alsa/mixer/samples/ATI IXP--Realtek ALC655 rev 0
+@@ -0,0 +1,150 @@
++Simple mixer control 'Master',0
++ Capabilities: pvolume pswitch pswitch-joined
++ Playback channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Mono:
++ Front Left: Playback 29 [94%] [-3.00dB] [on]
++ Front Right: Playback 29 [94%] [-3.00dB] [on]
++Simple mixer control 'Master Mono',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined
++ Playback channels: Mono
++ Limits: Playback 0 - 31
++ Mono: Playback 0 [0%] [-46.50dB] [off]
++Simple mixer control 'PCM',0
++ Capabilities: pvolume pswitch pswitch-joined
++ Playback channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Mono:
++ Front Left: Playback 23 [74%] [0.00dB] [on]
++ Front Right: Playback 23 [74%] [0.00dB] [on]
++Simple mixer control 'Surround',0
++ Capabilities: pvolume pswitch
++ Playback channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Mono:
++ Front Left: Playback 0 [0%] [-46.50dB] [off]
++ Front Right: Playback 0 [0%] [-46.50dB] [off]
++Simple mixer control 'Surround Jack Mode',0
++ Capabilities: enum
++ Items: 'Shared' 'Independent'
++ Item0: 'Shared'
++Simple mixer control 'Center',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined
++ Playback channels: Mono
++ Limits: Playback 0 - 31
++ Mono: Playback 0 [0%] [-46.50dB] [off]
++Simple mixer control 'LFE',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined
++ Playback channels: Mono
++ Limits: Playback 0 - 31
++ Mono: Playback 0 [0%] [-46.50dB] [off]
++Simple mixer control 'Line',0
++ Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Playback channels: Front Left - Front Right
++ Capture channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Front Left: Playback 0 [0%] [-34.50dB] [off] Capture [off]
++ Front Right: Playback 0 [0%] [-34.50dB] [off] Capture [off]
++Simple mixer control 'CD',0
++ Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Playback channels: Front Left - Front Right
++ Capture channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Front Left: Playback 0 [0%] [-34.50dB] [off] Capture [off]
++ Front Right: Playback 0 [0%] [-34.50dB] [off] Capture [off]
++Simple mixer control 'Mic',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Playback channels: Mono
++ Capture channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Mono: Playback 0 [0%] [-34.50dB] [off]
++ Front Left: Capture [on]
++ Front Right: Capture [on]
++Simple mixer control 'Mic Boost (+20dB)',0
++ Capabilities: pswitch pswitch-joined
++ Playback channels: Mono
++ Mono: Playback [off]
++Simple mixer control 'Mic Select',0
++ Capabilities: enum
++ Items: 'Mic1' 'Mic2'
++ Item0: 'Mic1'
++Simple mixer control 'Video',0
++ Capabilities: cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Capture channels: Front Left - Front Right
++ Front Left: Capture [off]
++ Front Right: Capture [off]
++Simple mixer control 'Phone',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Playback channels: Mono
++ Capture channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Mono: Playback 31 [100%] [12.00dB] [off]
++ Front Left: Capture [off]
++ Front Right: Capture [off]
++Simple mixer control 'IEC958',0
++ Capabilities: pswitch pswitch-joined cswitch cswitch-joined
++ Playback channels: Mono
++ Capture channels: Mono
++ Mono: Playback [off] Capture [off]
++Simple mixer control 'IEC958 Playback AC97-SPSA',0
++ Capabilities: volume volume-joined
++ Playback channels: Mono
++ Capture channels: Mono
++ Limits: 0 - 3
++ Mono: 0 [0%]
++Simple mixer control 'IEC958 Playback Source',0
++ Capabilities: enum
++ Items: 'PCM' 'Analog In' 'IEC958 In'
++ Item0: 'PCM'
++Simple mixer control 'PC Speaker',0
++ Capabilities: pvolume pvolume-joined pswitch pswitch-joined
++ Playback channels: Mono
++ Limits: Playback 0 - 15
++ Mono: Playback 0 [0%] [-45.00dB] [on]
++Simple mixer control 'Aux',0
++ Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Playback channels: Front Left - Front Right
++ Capture channels: Front Left - Front Right
++ Limits: Playback 0 - 31
++ Front Left: Playback 0 [0%] [-34.50dB] [on] Capture [off]
++ Front Right: Playback 0 [0%] [-34.50dB] [on] Capture [off]
++Simple mixer control 'Mono Output Select',0
++ Capabilities: enum
++ Items: 'Mix' 'Mic'
++ Item0: 'Mix'
++Simple mixer control 'Capture',0
++ Capabilities: cvolume cswitch cswitch-joined
++ Capture channels: Front Left - Front Right
++ Limits: Capture 0 - 15
++ Front Left: Capture 12 [80%] [18.00dB] [on]
++ Front Right: Capture 12 [80%] [18.00dB] [on]
++Simple mixer control 'Mix',0
++ Capabilities: cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Capture channels: Front Left - Front Right
++ Front Left: Capture [off]
++ Front Right: Capture [off]
++Simple mixer control 'Mix Mono',0
++ Capabilities: cswitch cswitch-exclusive
++ Capture exclusive group: 0
++ Capture channels: Front Left - Front Right
++ Front Left: Capture [off]
++ Front Right: Capture [off]
++Simple mixer control 'Channel Mode',0
++ Capabilities: enum
++ Items: '2ch' '4ch' '6ch'
(13901 more lines skipped)
++++++ pulseaudio.yaml
--- pulseaudio.yaml
+++ pulseaudio.yaml
@@ -1,7 +1,7 @@
Name: pulseaudio
Summary: Improved Linux sound server
Version: 0.9.19
-Release: 1
+Release: 1.0
Group: System/Daemons
License: LGPLv2+
URL: http://pulseaudio.org
@@ -23,6 +23,18 @@
- pa-0.9.19-svolume-arm.patch
- pa-0.9.19-fix-build-with-fweb.patch
- fix-122-CVE-insecure-temporary-file-creation.patch
+ - pa-0.9.19-mfld-sync-with-official-pa.path
+ - pa-0.9.19-mfld-folder-daemon.patch
+ - pa-0.9.19-mfld-folder-alsa-mixer-paths.patch
+ - pa-0.9.19-mfld-folder-alsa.patch
+ - pa-0.9.19-mfld-folder-modules.patch
+ - pa-0.9.19-mfld-folder-modules-dbus.patch
+ - pa-0.9.19-mfld-folder-pulse.patch
+ - pa-0.9.19-mfld-folder-pulsecore.patch
+ - pa-0.9.19-mfld-folder-src.patch
+ - pa-0.9.19-mfld-build-files.patch
+ - pa-0.9.19-mfld-pulseaudio-pc-in.patch
+
Description: |
PulseAudio is a sound server for Linux and other Unix like operating
systems. It is intended to be an improved drop-in replacement for the
More information about the MeeGo-commits
mailing list