platform/upstream/pulseaudio.git
10 years agovolume ramp: adding volume ramping to sink-input
Jaska Uimonen [Wed, 8 Aug 2012 08:14:38 +0000 (11:14 +0300)]
volume ramp: adding volume ramping to sink-input

Change-Id: I9376f531f3585c9ba5fb6d1b384589a8d123b292
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: add volume ramping to sink
Jaska Uimonen [Wed, 8 Aug 2012 08:14:39 +0000 (11:14 +0300)]
volume ramp: add volume ramping to sink

Change-Id: I72bd64b4e4ad161ae0526a7e40d4bf9e843ae98c
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: additions to the low level infra
Jaska Uimonen [Wed, 8 Aug 2012 08:14:37 +0000 (11:14 +0300)]
volume ramp: additions to the low level infra

Change-Id: Ib2be01e0bea0856ebd0256066981fe34d05a4f86
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix warning in gconf helper
Jaska Uimonen [Tue, 11 Mar 2014 10:47:52 +0000 (12:47 +0200)]
fix warning in gconf helper

Change-Id: Id75cd24cfd1c0d62d4c227b6715dc0d9d5ea6b1f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofixes and improvements to makefile and configure in - samsung
Jaska Uimonen [Fri, 7 Mar 2014 15:49:42 +0000 (17:49 +0200)]
fixes and improvements to makefile and configure in - samsung

Change-Id: Ic2338a8382fe45f9d509537950592c9c4aa83606
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agouse udev only for usb devices - samsung
Jaska Uimonen [Thu, 8 Aug 2013 08:28:39 +0000 (11:28 +0300)]
use udev only for usb devices - samsung

Change-Id: Ia8cd2f5eb5ebe5248af11906c67d572ede133b33
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocope with possible infinite waiting in startup - samsung
Jaska Uimonen [Thu, 8 Aug 2013 08:27:44 +0000 (11:27 +0300)]
cope with possible infinite waiting in startup - samsung

Change-Id: Ie7c74131e267f44324f031a953c15f81b0c31a07
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoset alsa suspend timeout to zero - samsung
Jaska Uimonen [Thu, 8 Aug 2013 08:24:25 +0000 (11:24 +0300)]
set alsa suspend timeout to zero - samsung

Change-Id: Ie7c93c727d878226189f751efbd6e088ece7f36f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocreate pa_ready file - samsung
Jaska Uimonen [Thu, 8 Aug 2013 08:23:38 +0000 (11:23 +0300)]
create pa_ready file - samsung

Change-Id: I2146599f2e814be064864f8ca76879b761642f11
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd bluetooth a2dp aptx codec support - samsung
vivian,zhang [Tue, 18 Jun 2013 08:23:45 +0000 (16:23 +0800)]
add bluetooth a2dp aptx codec support - samsung

Change-Id: I2c90198774c1e7d3e2ecb99f2dd365d56308f157
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd policy module - samsung
vivian,zhang [Tue, 18 Jun 2013 08:21:32 +0000 (16:21 +0800)]
add policy module - samsung

Change-Id: I2111a9c4dc0a371dbea5b347cf77adbe8f930528
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd support for dlog - samsung
vivian,zhang [Tue, 18 Jun 2013 08:20:04 +0000 (16:20 +0800)]
add support for dlog - samsung

Change-Id: Ieddf2f3bdab50926372e9e2b5cedb2756b6cfd5c
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoEnhance for echo cancel - samsung
vivian,zhang [Tue, 18 Jun 2013 08:18:58 +0000 (16:18 +0800)]
Enhance for echo cancel - samsung

Change-Id: Ibd59e7e033d5a6789ddc7d5ef39e23f26dcf55cc
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoAdd preload fileter for resample - samsung
vivian,zhang [Tue, 18 Jun 2013 08:12:20 +0000 (16:12 +0800)]
Add preload fileter for resample - samsung

Change-Id: Ia57b4eb1848d53bbfa15c04b25f4821554aff28f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd support for samsung power management - samsung
vivian,zhang [Tue, 18 Jun 2013 08:11:16 +0000 (16:11 +0800)]
add support for samsung power management - samsung

Change-Id: Id76a3971e36c08773848fdf1ac1cc9a9200d7330
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agochanges to pa simple api - samsung
vivian,zhang [Tue, 18 Jun 2013 08:10:15 +0000 (16:10 +0800)]
changes to pa simple api - samsung

Change-Id: I997c02217a8dc14524480164aa0baeea901c7b4e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix for profile change prototype in bluez5 patch
Jaska Uimonen [Tue, 11 Mar 2014 10:23:09 +0000 (12:23 +0200)]
fix for profile change prototype in bluez5 patch

Change-Id: I2361c4eca82e6ac4a8f94e9f9c97f09cb6648049
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agohfp do safe strcmp in dbus handler
Jaska Uimonen [Mon, 30 Dec 2013 16:03:18 +0000 (18:03 +0200)]
hfp do safe strcmp in dbus handler

Change-Id: I4ba64d22b2b807530263b5f274cd89f208c675ac
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix ofono and pulseaudio starting order assert
Jaska Uimonen [Thu, 2 Jan 2014 13:37:02 +0000 (15:37 +0200)]
fix ofono and pulseaudio starting order assert

Change-Id: I743c6e1fb5c65cc0702f073d6c2beb4e6868d7bb
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agobluetooth: Set 'off' profile as default for newly create cards
Luiz Augusto von Dentz [Mon, 16 Sep 2013 12:10:51 +0000 (15:10 +0300)]
bluetooth: Set 'off' profile as default for newly create cards

This makes sure that pa_card_new doesn't select one profile based on
priority which may conflict with audio policy.

10 years agobluetooth: Fixes HFP audio transfer when initiator
Luiz Augusto von Dentz [Fri, 23 Aug 2013 16:44:23 +0000 (19:44 +0300)]
bluetooth: Fixes HFP audio transfer when initiator

This makes sure org.ofono.HandsfreeAudioCard.Connect is called regardless
of the optional flag and also makes sure to update the profile state
whenever SCO is disconnected.

10 years agobluetooth: Implement transport release for hf_audio_agent transports
Luiz Augusto von Dentz [Fri, 23 Aug 2013 16:19:34 +0000 (19:19 +0300)]
bluetooth: Implement transport release for hf_audio_agent transports

10 years agobluetooth: Suspend sink/source on HFP's stream HUP
João Paulo Rechi Vita [Wed, 27 Mar 2013 04:43:42 +0000 (01:43 -0300)]
bluetooth: Suspend sink/source on HFP's stream HUP

When the Audio Connection is disconnected the sink and source should be
suspended.

10 years agobluetooth: Fix not handle fd in DEFER_SETUP state
Luiz Augusto von Dentz [Fri, 23 Aug 2013 09:56:40 +0000 (12:56 +0300)]
bluetooth: Fix not handle fd in DEFER_SETUP state

The fd passed over NewConnection is in DEFER_SETUP and need to be read to
be accept otherwise it wont work.

10 years agobluetooth: Implement org.ofono.HandsfreeAudioAgent.NewConnection()
João Paulo Rechi Vita [Thu, 11 Jul 2013 16:23:31 +0000 (13:23 -0300)]
bluetooth: Implement org.ofono.HandsfreeAudioAgent.NewConnection()

10 years agobluetooth: Handle CardRemoved signal
João Paulo Rechi Vita [Thu, 11 Jul 2013 15:53:10 +0000 (12:53 -0300)]
bluetooth: Handle CardRemoved signal

10 years agobluetooth: Handle CardAdded signal
João Paulo Rechi Vita [Thu, 11 Jul 2013 14:47:37 +0000 (11:47 -0300)]
bluetooth: Handle CardAdded signal

10 years agobluetooth: Track oFono service
João Paulo Rechi Vita [Thu, 11 Jul 2013 14:43:48 +0000 (11:43 -0300)]
bluetooth: Track oFono service

10 years agobluetooth: Implement transport acquire for hf_audio_agent transports
João Paulo Rechi Vita [Wed, 10 Jul 2013 01:22:28 +0000 (22:22 -0300)]
bluetooth: Implement transport acquire for hf_audio_agent transports

10 years agobluetooth: Parse HandsfreeAudioCard properties
João Paulo Rechi Vita [Wed, 10 Jul 2013 00:37:26 +0000 (21:37 -0300)]
bluetooth: Parse HandsfreeAudioCard properties

10 years agobluetooth: List HandsfreeAudioCard objects from oFono
João Paulo Rechi Vita [Wed, 10 Jul 2013 00:03:28 +0000 (21:03 -0300)]
bluetooth: List HandsfreeAudioCard objects from oFono

10 years agobluetooth: Register/Unregister Handsfree Audio Agent with oFono
João Paulo Rechi Vita [Tue, 9 Jul 2013 23:59:12 +0000 (20:59 -0300)]
bluetooth: Register/Unregister Handsfree Audio Agent with oFono

Register as a HandsfreeAudioAgent with oFono during backend
initialization and unregiter during backend finalization. This commit
also adds a check when receiving method calls or signals to make sure
the sender matches with the D-Bus service we're registered with.

10 years agobluetooth: Create pa_bluetooth_dbus_send_and_add_to_pending() for oFono backend
João Paulo Rechi Vita [Wed, 10 Jul 2013 16:00:16 +0000 (13:00 -0300)]
bluetooth: Create pa_bluetooth_dbus_send_and_add_to_pending() for oFono backend

10 years agobluetooth: Monitor D-Bus signals
João Paulo Rechi Vita [Wed, 10 Jul 2013 15:18:07 +0000 (12:18 -0300)]
bluetooth: Monitor D-Bus signals

10 years agobluetooth: Create Handsfree Audio Agent oFono backend
João Paulo Rechi Vita [Tue, 9 Jul 2013 23:22:17 +0000 (20:22 -0300)]
bluetooth: Create Handsfree Audio Agent oFono backend

10 years agobluetooth: Create Handsfree Audio Agent NULL backend
João Paulo Rechi Vita [Tue, 9 Jul 2013 22:08:15 +0000 (19:08 -0300)]
bluetooth: Create Handsfree Audio Agent NULL backend

10 years agobluetooth: Add basic support for HEADSET profiles
João Paulo Rechi Vita [Wed, 10 Jul 2013 12:45:01 +0000 (09:45 -0300)]
bluetooth: Add basic support for HEADSET profiles

This commit adds basic support for devices implementing HSP Headset
Unit, HSP Audio Gateway, HFP Handsfree Unit, HFP Audio Gateway to the
BlueZ 5 bluetooth audio devices driver module (module-bluez5-device).

10 years agosuspend-on-idle: Fix monitor source handling upstream/5.0 v5.0
Tanu Kaskinen [Mon, 3 Mar 2014 14:21:21 +0000 (16:21 +0200)]
suspend-on-idle: Fix monitor source handling

Fixes a crash that happened due to calling pa_source_check_suspend()
when d->source was NULL.

10 years agoUpdate NEWS
Tanu Kaskinen [Mon, 3 Mar 2014 13:42:21 +0000 (15:42 +0200)]
Update NEWS

10 years agortp-send: Add "inhibit_auto_suspend" module argument
Tanu Kaskinen [Sun, 23 Feb 2014 17:47:15 +0000 (19:47 +0200)]
rtp-send: Add "inhibit_auto_suspend" module argument

Some people want module-rtp-send to send silence when the sink that is
monitored goes idle, and some people want module-rtp-send to pause the
RTP stream to avoid unnecessary bandwidth consumption.

10 years agosuspend-on-idle: Ensure we still time out if a stream remains corked
David Henningsson [Tue, 25 Feb 2014 15:56:49 +0000 (16:56 +0100)]
suspend-on-idle: Ensure we still time out if a stream remains corked

If a stream is started corked and remains corked, the sink/source
remained idle without being properly suspended. This patch fixes
that issue.

BugLink: https://bugs.launchpad.net/bugs/1284415
Tested-by: Ricardo Salveti <ricardo.salveti@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
10 years agosink-input/source-output: Fix LFE remixing suddenly enabled
David Henningsson [Fri, 28 Feb 2014 11:16:54 +0000 (12:16 +0100)]
sink-input/source-output: Fix LFE remixing suddenly enabled

Steps to reproduce:
 1) Leave LFE remixing disabled (the default)
 2) Start playback of stereo material on e g 5.1 surround, notice nothing in LFE
 3) Now change profile to e g 4.0 surround and then back to 5.1 surround
 4) Notice that LFE channel is now remixed

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
10 years agoMake tests compile on FreeBSD
Koop Mast [Sat, 22 Feb 2014 23:56:59 +0000 (00:56 +0100)]
Make tests compile on FreeBSD

cpu_set_t is named cpuset_t on FreeBSD.
Add headers to allow for warning free compilation.

10 years agortp-send: Use _cb suffix with callbacks
Tanu Kaskinen [Sun, 23 Feb 2014 17:41:42 +0000 (19:41 +0200)]
rtp-send: Use _cb suffix with callbacks

10 years agodoc: Assorted spelling and grammar fixes for doxygen output
Peter Meerwald [Thu, 20 Feb 2014 20:41:47 +0000 (21:41 +0100)]
doc: Assorted spelling and grammar fixes for doxygen output

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agomodules: Fix uninitialized variable in rtp-send
Peter Meerwald [Fri, 3 Jan 2014 22:52:19 +0000 (23:52 +0100)]
modules: Fix uninitialized variable in rtp-send

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agosconv, svolume: Fix compilation on 32-bit FreeBSD
Koop Mast [Thu, 20 Feb 2014 23:21:46 +0000 (00:21 +0100)]
sconv, svolume: Fix compilation on 32-bit FreeBSD

Don't try to compile this code on 32-bit FreeBSD, it will error out complain
about registers only being available in 64-bit mode.

10 years agoRevert "protocol-native: Don't enumerate unlinked sinks and sources"
Arun Raghavan [Mon, 17 Feb 2014 11:02:40 +0000 (16:32 +0530)]
Revert "protocol-native: Don't enumerate unlinked sinks and sources"

This reverts commit bd0bd9143f8159e5475b1295e30ec026ff0b6fef.

10 years agobuild-sys: Bump soname v4.99.4
Arun Raghavan [Sat, 15 Feb 2014 04:34:39 +0000 (10:04 +0530)]
build-sys: Bump soname

Bumping from 0->3 since we missed bumping correctly for v4.99.{1,2,3}

10 years agoprotocol-native: Don't enumerate unlinked sinks and sources
Arun Raghavan [Sun, 8 Dec 2013 22:18:00 +0000 (14:18 -0800)]
protocol-native: Don't enumerate unlinked sinks and sources

This makes sure that there is no window between pa_sink/source_new()
and _put() where enumerating sinks/sources causes an assert (several
calls in sink/source_get_info need a linked sink or source).

10 years agosink-input, source-output: Don't crash if format negotiation fails
Tanu Kaskinen [Wed, 12 Feb 2014 10:41:34 +0000 (12:41 +0200)]
sink-input, source-output: Don't crash if format negotiation fails

A segfault was reported on this line:

pa_return_val_if_fail(PA_SINK_IS_LINKED(pa_sink_get_state(data->sink)), -PA_ERR_BADSTATE);

After expanding the pa_sink_get_state() macro, the line looks like
this:

pa_return_val_if_fail(PA_SINK_IS_LINKED(data->sink->state), -PA_ERR_BADSTATE);

So data->sink was apparently NULL. That could happen if we try to fall
back to the default sink, but format negotiation fails.

This bug was introduced in commit
71816ecb7f81fe7a124cefa2258cfa64046908a1.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74646
10 years agoi18n: Update Polish translation
Piotr Drąg [Tue, 11 Feb 2014 14:18:08 +0000 (15:18 +0100)]
i18n: Update Polish translation

10 years agoman: pulse-cli-syntax: Document the "journal" log target
Tanu Kaskinen [Wed, 12 Feb 2014 12:31:26 +0000 (14:31 +0200)]
man: pulse-cli-syntax: Document the "journal" log target

10 years agodbus: Use correct idxset when getting sources
Juho Hämäläinen [Mon, 10 Feb 2014 10:46:28 +0000 (12:46 +0200)]
dbus: Use correct idxset when getting sources

This fixes get_sources() which iterates wrong idxset when
getting source object paths in GetSources or GetAll.

10 years agoman: improve man page and help for cmdline options
Wim Taymans [Thu, 6 Feb 2014 15:08:50 +0000 (16:08 +0100)]
man: improve man page and help for cmdline options

10 years agosource: Increase max outputs per source
Tanu Kaskinen [Wed, 5 Feb 2014 15:55:44 +0000 (17:55 +0200)]
source: Increase max outputs per source

This change is just for being symmetric with sinks, which got this
change in 26bf2df903b1c7439ad3eef0dc3bb1e777835cc3.

10 years agoprotocol-native: Fix a crash
Tanu Kaskinen [Tue, 4 Feb 2014 19:28:44 +0000 (21:28 +0200)]
protocol-native: Fix a crash

Without this check pa_source_output_set_volume() crashes if
so->volume_writable is false. The same check already exists for sink
inputs.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74529
10 years agothread-win32: Implement pa_thread_free_nojoin()
Tanu Kaskinen [Sun, 26 Jan 2014 17:11:07 +0000 (19:11 +0200)]
thread-win32: Implement pa_thread_free_nojoin()

This fixes a build error with mingw32:

pulsecore/.libs/libpulsecommon_4.99_la-lock-autospawn.o: In function `unref':
/home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/pulsecore/lock-autospawn.c:123: undefined reference to `pa_thread_free_nojoin'
collect2: error: ld returned 1 exit status

pa_thread_free_nojoin() was initially only implemented for the pthread
based pa_thread backend, because it was incorrectly assumed that
autospawning (the only user of pa_thread_free_nojoin()) is not used on
Windows.

Reported-By: Michael DePaulo <mikedep333@gmail.com>
10 years agocard-restore: Fix a memory leak v4.99.3
Tanu Kaskinen [Wed, 29 Jan 2014 18:54:39 +0000 (20:54 +0200)]
card-restore: Fix a memory leak

entry_read() may set entry->profile, so we need to free that string
before we can replace it with a new string.

10 years agoresampler: Resample first followed by remapping if have more out channels than in...
Peter Meerwald [Mon, 2 Dec 2013 16:27:01 +0000 (17:27 +0100)]
resampler: Resample first followed by remapping if have more out channels than in channels

Reintroduces a cleaned-up version of commit 30ce3a14e5ae1cd316a18bec95b831c07ac57a1a which
was reverted by 1ce71cbd8206d1be59ac62274ad83cdbe693a96a; for more information see
http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/17479/focus=17487

The patch intends to reduce computational load when resampling AND remapping. The PA
resampler performs the following steps:

sample format conversion -> remapping -> resampling -> sample format conversion

In case the number of output channels is higher than the number of input channels, the
resampler has to be run more often than necessary. E.g. in case of mono to 4-channel remapping,
the resampler runs on 4 channels separately.

To ímprove this, the PA resampler pipeline is made adaptive:

if out-channels <= in-channels:
  sample format conversion -> remapping -> resampling -> sample format conversion
if out-channels > in-channels:
  sample format conversion -> resampling -> remapping -> sample format conversion

Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
10 years agoresampler: Implement leftover handling in convert_to_work_format()
Peter Meerwald [Mon, 2 Dec 2013 16:27:00 +0000 (17:27 +0100)]
resampler: Implement leftover handling in convert_to_work_format()

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agoresampler: Extend fit_buf() helper to copy leftover data to new buffer
Peter Meerwald [Mon, 2 Dec 2013 16:26:59 +0000 (17:26 +0100)]
resampler: Extend fit_buf() helper to copy leftover data to new buffer

the patch changes the interface of the (internal) fit_buf() function:
fit_buf() manages the memblock of the buf chunk, it reallocates the memblock
if the requested number of bytes ('len') if larger than the memblock's size ('size')
and optionally preserves 'copy' bytes

the code should be in line with the comment now

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agomodule: Replace rindex() with strrchr()
Tanu Kaskinen [Mon, 27 Jan 2014 19:00:58 +0000 (21:00 +0200)]
module: Replace rindex() with strrchr()

rindex() appears to be "non-standard" to an extent, and it caused a
build failure on mingw32.

From the man page of rindex(): "POSIX.1-2008 removes the
specifications of index() and rindex(), recommending strchr(3) and
strrchr(3) instead."

10 years agodevice-manager: Don't try to use unlinked devices
Tanu Kaskinen [Sun, 26 Jan 2014 18:13:50 +0000 (20:13 +0200)]
device-manager: Don't try to use unlinked devices

This fixes an assertion crash:

[pulseaudio] source.c: Assertion 'PA_SOURCE_IS_LINKED(s->state)' failed at pulsecore/source.c:734, function pa_source_update_status(). Aborting.

The crash happened when a Bluetooth headset profile was changed from
a2dp to hsp. During the profile change three devices are created:
a sink, a monitor source for the sink, and a regular source. First
pa_sink/source_new() are called for each device, and that puts the
devices to u->core->sinks/sources. Then, pa_sink_put() is called for
the sink, and that in turn calls pa_source_put() for the source. At
that point module-device-manager decides to reroute all source
outputs. The non-monitor source that the Bluetooth card created hasn't
been linked yet at this stage, because it will only be linked after
the sink and the monitor source have been linked. So,
module-device-manager should take into account during the rerouting
that not all sinks and sources are necessarily linked. This patch does
that.

Reported-By: Iskren Hadzhinedev <i.hadzhinedev@gmail.com>
10 years agocaps: Don't require --without-caps on FreeBSD
Tanu Kaskinen [Sun, 26 Jan 2014 14:41:29 +0000 (16:41 +0200)]
caps: Don't require --without-caps on FreeBSD

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=72580
10 years agodaemon: Remove deprecated Encoding from .desktop files
Wim Taymans [Thu, 23 Jan 2014 11:21:53 +0000 (12:21 +0100)]
daemon: Remove deprecated Encoding from .desktop files

Encoding is deprecated according to
http://standards.freedesktop.org/desktop-entry-spec/latest/apc.html

10 years agobuild-sys: Move ORC_SOURCE definitions outside of "if HAVE_ORC"
Dominique Leuenberger [Fri, 24 Jan 2014 20:45:52 +0000 (21:45 +0100)]
build-sys: Move ORC_SOURCE definitions outside of "if HAVE_ORC"

Not having ORC_SOURCE defined results in different tarballs depending on
whether the dev issuing 'make dist' has orc support enabled or disabled.

Specifying ORC_SOURCE unconditionally addresses that, without causing
negative effects on users not having orc in the end.

10 years agobuild-sys: Add tests/runtime-test-util.h to the tarball v4.99.2
Tanu Kaskinen [Thu, 23 Jan 2014 18:34:58 +0000 (20:34 +0200)]
build-sys: Add tests/runtime-test-util.h to the tarball

The file is used by three test binaries, but none of them mentioned
it in Makefile.am, which caused the file to be left out of the
tarball.

10 years agobuild-sys: Bump sonames v4.99.1
Tanu Kaskinen [Thu, 23 Jan 2014 10:05:52 +0000 (12:05 +0200)]
build-sys: Bump sonames

The bigger than usual bump in libpulse-simple was warranted by the
change in pa_simple_flush() that allows also record streams to be
flushed. There are no changes to the function signature, but it's in
practice a change in the ABI anyway, because new clients using the new
possibility won't work with older versions of the library.

libpulse-mainloop-glib got a bug fix in commit
68156d3f79b67c77f88050e6c9de180698377c64.

10 years agointrospect, thread-mainloop: Fix Doxygen "since" tags
Tanu Kaskinen [Thu, 23 Jan 2014 09:21:58 +0000 (11:21 +0200)]
introspect, thread-mainloop: Fix Doxygen "since" tags

10 years agocombine-sink: fix segfault
Daniel Albers [Thu, 16 Jan 2014 09:00:42 +0000 (10:00 +0100)]
combine-sink: fix segfault

10 years agoUpdate Russian translation
Alexander Potashev [Sat, 11 Jan 2014 16:27:18 +0000 (20:27 +0400)]
Update Russian translation

Translated in sync with the guidelines at http://l10n.lrn.ru/wiki/Pulseaudio

10 years agoUpdate Ukrainian translation
Yuri Chornoivan [Mon, 13 Jan 2014 16:53:46 +0000 (18:53 +0200)]
Update Ukrainian translation

10 years agosink, source: Remove useless attach/detach stuff
Tanu Kaskinen [Wed, 15 Jan 2014 16:59:18 +0000 (18:59 +0200)]
sink, source: Remove useless attach/detach stuff

The removed stuff wasn't used anywhere.

10 years agoRevert "ladspa-sink: Handle empty chunks in sink_input_pop_cb"
Tanu Kaskinen [Wed, 15 Jan 2014 12:24:25 +0000 (14:24 +0200)]
Revert "ladspa-sink: Handle empty chunks in sink_input_pop_cb"

This reverts commit dbe66b0b5e6b6e24df45bda8bf656836f18e7f4b.

I accidentally pushed this patch that was superseded by
e96785c1c34706e902f28c25844f31d8201db2b2.

10 years agoladspa-sink: Set a silence memchunk for the memblockq
Ben Brewer [Wed, 15 Jan 2014 11:19:46 +0000 (11:19 +0000)]
ladspa-sink: Set a silence memchunk for the memblockq

A crash was observed that was caused by pa_memblockq_peek() returning
a NULL memblock in sink_input_pop_cb(). The scenario where this was
happening was

1. Delete 2 rtp-recv's connected to a ladspa-sink
2. Delete ladspa-sink
3. Delete alsa-sink
4. Create alsa-sink
5. Create ladspa-sink
6. Create 2 rtp-recv's connected to the ladspa-sink

The crash was probably caused by a rewind that made the read index go
negative while the write index was at least zero, causing there to be
a gap in the memblockq. The problematic rewind might have been caused
by adding the rtp-recv stream to the ladspa-sink. That has not been
proven, but this looks very similar to the bug that was fixed in
module-virtual-sink in commit 6bd34156b130c07b130de10111a12ef6dab18b52.

10 years agoladspa-sink: Handle empty chunks in sink_input_pop_cb
Ben Brewer [Wed, 15 Jan 2014 10:30:36 +0000 (10:30 +0000)]
ladspa-sink: Handle empty chunks in sink_input_pop_cb

10 years agozeroconf-discover: Specify the interface when connecting to a link-local IPv6 address
Héctor Martín [Wed, 15 Jan 2014 10:20:27 +0000 (12:20 +0200)]
zeroconf-discover: Specify the interface when connecting to a link-local IPv6 address

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=40785
10 years agoalsa: Mute "Bass Speaker" when using headphones or lineout
Tanu Kaskinen [Wed, 15 Jan 2014 09:37:26 +0000 (11:37 +0200)]
alsa: Mute "Bass Speaker" when using headphones or lineout

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=73604
10 years agortp-send: Remove "don't inhibit auto-suspend" flag
Ben Brewer [Tue, 14 Jan 2014 12:26:47 +0000 (12:26 +0000)]
rtp-send: Remove "don't inhibit auto-suspend" flag

A source is no longer considered idle in pa_source_check_suspend when
module-rtp-send is consuming data from it.

10 years agobuild-sys: Fix building with --as-needed
Tanu Kaskinen [Sat, 11 Jan 2014 14:47:56 +0000 (16:47 +0200)]
build-sys: Fix building with --as-needed

pulsecore/core-format.c was recently added to libpulsecommon, and
core-format.c depends on functions in libpulse, which libpulsecommon
doesn't link to. That broke building with --as-needed. This patch adds
pulse/format.c to libpulsecommon, so that core-format.c doesn't need
to depend on libpulse any more. format.c pulls in also the dependency
to json-c.

Reported-By: Jan Steffens <jan.steffens@gmail.com>
10 years agortp-recv: Only try adding the group membership for multicast addresses
Laurentiu Nicola [Tue, 7 Jan 2014 18:26:50 +0000 (20:26 +0200)]
rtp-recv: Only try adding the group membership for multicast addresses

10 years agocaps: Use standard macro when checking for Linux
Tanu Kaskinen [Fri, 10 Jan 2014 10:41:00 +0000 (12:41 +0200)]
caps: Use standard macro when checking for Linux

linux and __linux are non-standard, according to
http://sourceforge.net/p/predef/wiki/OperatingSystems/

Reported-By: Damir Jelić <poljarinho@gmail.com>
10 years agoalsa-card: Don't free the modargs in pa__init
Peter Meerwald [Fri, 3 Jan 2014 22:21:26 +0000 (23:21 +0100)]
alsa-card: Don't free the modargs in pa__init

The modargs are in both cases (a succesfull as well as a failed module
initialization) freed already in pa__done().

To avoid leaking modargs memory before they are assigned to u->modargs, the
code is reorganized to first allocate userdata, and then allocate the modargs.
Local variable ma is not needed anymore.

discussion here
http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-December/019661.html

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Reported-by: poljar (Damir Jelić) <poljarinho@gmail.com>
10 years agoformat: Add some error logging
Tanu Kaskinen [Wed, 18 Dec 2013 16:28:55 +0000 (18:28 +0200)]
format: Add some error logging

10 years agostream: Mention pa_stream_new_extended() in the high-level stream creation documentation
Tanu Kaskinen [Wed, 4 Dec 2013 04:18:42 +0000 (06:18 +0200)]
stream: Mention pa_stream_new_extended() in the high-level stream creation documentation

10 years agostream: Improve pa_stream_connect_playback() documentation
Tanu Kaskinen [Tue, 17 Dec 2013 21:42:09 +0000 (23:42 +0200)]
stream: Improve pa_stream_connect_playback() documentation

10 years agodef, format: Document how to leave PCM parameters to be decided by the server
Tanu Kaskinen [Wed, 4 Dec 2013 04:17:11 +0000 (06:17 +0200)]
def, format: Document how to leave PCM parameters to be decided by the server

10 years agosink-input, source-output: Interpret missing PCM parameters in format info as a reque...
Tanu Kaskinen [Wed, 4 Dec 2013 04:09:23 +0000 (06:09 +0200)]
sink-input, source-output: Interpret missing PCM parameters in format info as a request to decide those parameters at the server end

The "fix flags" (PA_SINK_INPUT_FIX_FORMAT etc.) don't work properly
with the pa_stream_new_extended() interface. This patch fixes it so
that the same effect can be achieved by leaving some of the PCM
parameters unspecified in format info objects. Also, when converting
a sample spec to a format info when using the old pa_stream_new()
interface, the "fix flags" are taken into account in that conversion.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=68952
10 years agostream: Remove a volume channel validity check
Tanu Kaskinen [Tue, 17 Dec 2013 19:22:50 +0000 (21:22 +0200)]
stream: Remove a volume channel validity check

The check is done for clients that use pa_stream_new() but not for
clients that use pa_stream_new_extended(). This is inconsistent. We
could check that the volume channels match the channels set in the
format info struct that is passed to pa_stream_new_extended(), but
that doesn't work if the format info doesn't contain the channel
information (that can happen if the client wants the server to choose
the channel count for the stream). And it should also be possible to
pass a mono volume for a multi-channel stream. The check could be
extended to handle all these cases, but I don't see much point in
wasting time on that. The server will anyway validate the stream
parameters, it's not particularly important to fail already when the
stream is being created at the client side.

10 years agostream-util: Add pa_stream_get_volume_channel_map()
Tanu Kaskinen [Tue, 17 Dec 2013 19:17:55 +0000 (21:17 +0200)]
stream-util: Add pa_stream_get_volume_channel_map()

The new function isn't used yet, but it soon will.

10 years agoformat, core-format: Constify some function parameters
Tanu Kaskinen [Tue, 17 Dec 2013 19:14:18 +0000 (21:14 +0200)]
format, core-format: Constify some function parameters

10 years agosink-input, source-output: Do routing related validity checks immediately after routing
Tanu Kaskinen [Tue, 3 Dec 2013 14:54:48 +0000 (16:54 +0200)]
sink-input, source-output: Do routing related validity checks immediately after routing

It's more logical that way.

10 years agocore-format: Add pa_format_info_from_sample_spec2()
Tanu Kaskinen [Tue, 3 Dec 2013 15:49:51 +0000 (17:49 +0200)]
core-format: Add pa_format_info_from_sample_spec2()

The function will be used in pa_sink_input_new() and
pa_source_output_new() to convert the sample spec given by the client
to a format info object. The set_format, set_rate and set_channels
will be set according to the stream flags (PA_SINK_INPUT_FIX_FORMAT
etc.).

10 years agocore-format: Add pa_format_info_to_sample_spec2()
Tanu Kaskinen [Mon, 18 Nov 2013 17:58:37 +0000 (19:58 +0200)]
core-format: Add pa_format_info_to_sample_spec2()

The function will be used in pa_sink_input_new() and
pa_source_output_new(). The fallback parameters are used to merge the
data in the format info with the sink/source sample spec and channel
map, when the format info is lacking some information.

10 years agoformat: Simplify pa_format_info_to_sample_spec()
Tanu Kaskinen [Tue, 3 Dec 2013 14:45:45 +0000 (16:45 +0200)]
format: Simplify pa_format_info_to_sample_spec()

10 years agocore-format: Add pa_format_info_get_channel_map()
Tanu Kaskinen [Mon, 25 Nov 2013 12:59:44 +0000 (14:59 +0200)]
core-format: Add pa_format_info_get_channel_map()

10 years agocore-format: Add pa_format_info_get_channels()
Tanu Kaskinen [Mon, 25 Nov 2013 12:51:37 +0000 (14:51 +0200)]
core-format: Add pa_format_info_get_channels()

This also fixes an issue in pa_format_info_to_sample_spec(): it did
no validation for the channels value. Now the validation is taken care
of in pa_format_info_get_channels().

10 years agocore-format: Add pa_format_info_get_rate()
Tanu Kaskinen [Mon, 25 Nov 2013 12:34:58 +0000 (14:34 +0200)]
core-format: Add pa_format_info_get_rate()

This also fixes an issue in pa_format_info_to_sample_spec(): it did
no validation for the rate value. Now the validation is taken care of
in pa_format_info_get_rate().

10 years agocore-format: Add pa_format_info_get_sample_format()
Tanu Kaskinen [Mon, 25 Nov 2013 14:15:54 +0000 (16:15 +0200)]
core-format: Add pa_format_info_get_sample_format()