Commit graph

1378 commits

Author SHA1 Message Date
Frédéric Danis
0b970ec965 bluez: Update BT profiles
Only provide high-level A2DP and HSP/HFP profiles in pw.
Expose nodes based on pw profiles and BT profiles available on remote
device.
2020-07-03 11:53:52 +02:00
Wim Taymans
a520335581 fmt-ops: add sse2 version of f32 to s16 planar/interleaved 2020-07-03 11:05:26 +02:00
Wim Taymans
5295caf0f3 examples: dlclose on some errors 2020-07-02 16:07:54 +02:00
Wim Taymans
3695488241 spa: remove wrong comment 2020-07-01 15:27:55 +02:00
Wim Taymans
698509ef55 alsa: set classes in the profile
parse classes in the pulse layer
2020-07-01 13:39:10 +02:00
Wim Taymans
1ee8944a2a alsa: improve debug 2020-07-01 13:16:37 +02:00
Wim Taymans
8168dfdbc1 alsa-pcm: allow setting number of channels
Allow passing the number of channels when creating a device to
restrict the negotiated channels.
2020-07-01 12:54:27 +02:00
Wim Taymans
267eabaf69 alsa: add default channel map when not given 2020-07-01 12:46:03 +02:00
Wim Taymans
f65d71dd5b alsa: support planar formats 2020-07-01 11:43:25 +02:00
Wim Taymans
6e03b4005d increase amount of datas in a buffer 2020-07-01 11:43:22 +02:00
Wim Taymans
ef0e5ee09e param: rename properties, use info for key/value info
Add props field for configurable route properties (like volumue/mute)
2020-06-27 20:04:05 +02:00
Frédéric Danis
41d7ccc336 a2dpsink: Process right amount of data with sbc_encode
sbc_encode() can only process data with at least this->codesize bytes.
When encode_buffer() is called with less then codesize bytes, accumulate
those bytes in a temporary buffer up to codesize length, then SBC encode
them.
Maximum size for SBC buffer is (subbands * blocks * channels * 2) with max
subbands = 8, max blocks = 16, max channels = 2, i.e. 512.

Fixes !277
2020-06-27 13:03:24 +02:00
Wim Taymans
2e914ac10e param: add properties to route and profile 2020-06-26 11:42:34 +02:00
Wim Taymans
43d0aa49c1 Route: add more fields 2020-06-24 19:37:50 +02:00
Wim Taymans
d22beb4d05 param: add classes to the PROFILE param
classes is an enumeration of class-name/count pairs to enumerate
the kinds of classes and count that are created from this profile.
2020-06-24 19:37:45 +02:00
Wim Taymans
cab833ade7 profiler: add docs for the param contents 2020-06-24 19:37:37 +02:00
Wim Taymans
0f7a488d61 param: add available to Profile params 2020-06-24 19:37:27 +02:00
Wim Taymans
35bb7d794b dlclose on errors 2020-06-23 15:25:45 +02:00
Wim Taymans
f08c35259c avoid uninitialized variables 2020-06-23 15:25:27 +02:00
Wim Taymans
4be29c1124 resample: load more data on aarch64 because we can 2020-06-19 11:47:57 +02:00
Wim Taymans
67b692396b v4l2: remove format checks
When a caller sets a format, we do this regardless of the currently
configured format.
2020-06-18 18:26:00 +02:00
Wim Taymans
6e74edc14e v4l2: always stop and clear buffer when setting a format
The caller frees the buffers after setting a new format.
2020-06-18 18:23:36 +02:00
Julian Bouzas
1f1386879b a2dpsink: only request new data when buffer is done 2020-06-18 08:02:50 +00:00
Simon McVittie
b852b58f82 Optionally install examples and tests
This makes it easier to test PipeWire in its "as-installed" state,
for example in an OS distribution.

The .test metadata files in ${datadir}/installed-tests/${package} are
a convention taken from GNOME's installed-tests initiative, allowing a
generic test-runner like gnome-desktop-testing to discover and run tests
in an automatic way.

The installation path ${libexecdir}/installed-tests/${package} is also
a convention borrowed from GNOME's installed-tests initiative.

In addition to the automated tests, I've installed example executables
in the same place, for manual testing. They could be separated into
a different directory if desired, but they seem like they have more
similarities with the automated tests than differences: both are there
to test that PipeWire works correctly, and neither should be relied on
for production use. Some examples are installed in deeper subdirectories
to avoid name clashes.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
Simon McVittie
8b97d2ae74 spa examples: Load plugins from SPA_PLUGIN_DIR or installed path
This lets them be used installed or uninstalled, like pipewire itself.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
raghu447
cecbe8ff17 libcamera: cleanup build warnings 2020-06-16 17:53:54 +00:00
Wim Taymans
fc57f05e56 audioconvert: reduce memory usage
We only need as many ports and buffer data as the maximum number
of channels, which is 64.
Fix empty output size. We're only ever going to fill this with
float samples.
2020-06-16 15:55:32 +02:00
raghu447
9c631842cb libcamera: cleanup unused variables 2020-06-15 17:45:01 +05:30
raghu447
7c05a7f7b4 libcamera: fixed a small leak and double free 2020-06-15 12:02:22 +05:30
raghu447
40ef322a34 libcamera: Fixed the crash issue when rtkit is enabled. 2020-06-12 12:24:00 +05:30
George Kiagiadakis
da9d17e73e bluez5: don't add transport twice in the device transports list
The transport is already added in profile_new_connection(), unless
is_new is TRUE

Apart from being wrong, adding the same node twice in a list also causes
spa_list_foreach() to loop forever...
2020-06-10 18:24:07 +03:00
Stéphane Cerveau
e7cc0f69e3 libcamera: fix implicit dependency to libdrm
libcamera is depending on libdrm in libcamera_wrapper.cpp but it was
implicitely including the header drm_fourcc.h with libcamera
file pixel_format.h

With this patch, the libcamera plugin should explicitely depends on
libdrm as it needs DRM fourcc and should not depend on multiple
inclusion from libcamera.

Add a FourCC for Motion-JPEG compressed format. This is a temporary
addition until the format gets merged in the upstream kernel.
2020-06-10 09:20:16 +00:00
Wim Taymans
a44bea0b6a tests: check cpu flags
Use the support plugin to load the CPU detection API and check
for the right CPU flags before running the test.

Fixes #246
2020-06-09 08:00:00 +02:00
Wim Taymans
c13c028ebb bluez5: fix leaks 2020-06-05 15:49:39 +02:00
Martin Koch
77860ef348 add version requirement for vulkan library dependency
due to usage of VK_ERROR_OUT_OF_POOL_MEMORY, VK_ERROR_INVALID_EXTERNAL_HANDLE,
	VK_API_VERSION_1_1 and VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
	introduced in version 1.1.69

Signed-off-by: Martin Koch <martin.koch@ese.de>
2020-06-04 18:11:48 +00:00
Wim Taymans
0b47b47b6c libcamera: disable by default
Until it is at least more comon available in distros.
2020-06-04 10:50:54 +02:00
raghu447
0d8e030c6e Removed datas field 2020-06-04 10:36:39 +02:00
raghu447
af263187ea Reverting redundant changes 2020-06-04 10:36:39 +02:00
raghu447
9024cc4444 Integrating libcamera 2020-06-04 10:36:39 +02:00
Wim Taymans
4dfd60f838 add some more debug 2020-06-02 17:15:47 +02:00
Wim Taymans
c4b87aa5e2 audioadapter: clear convert handle to avoid leaks 2020-06-02 17:14:23 +02:00
Wim Taymans
7d88c37e5b alsa-seq: clear the midi event queue on close to avoid leak 2020-06-02 17:13:53 +02:00
Wim Taymans
d2bd076a97 alsa: close output handler to avoid a leak 2020-06-02 17:13:26 +02:00
Wim Taymans
bb1cb530fc add more debug of fd create and close 2020-06-02 14:06:51 +02:00
Wim Taymans
1246116f06 bluez: free object path 2020-06-01 15:37:57 +02:00
Wim Taymans
7f60ebff27 logger: handle file without '/' in it 2020-05-29 20:32:55 +02:00
Wim Taymans
9fa68f6d46 neon: use regular registers only 2020-05-20 15:24:25 +02:00
Wim Taymans
8669fd03a6 initialize variables better 2020-05-20 15:24:25 +02:00
Wim Taymans
eb93f259e0 avoid some useless assignments 2020-05-20 15:24:25 +02:00
Wim Taymans
4f60dcadc6 vulkan: check results of stat 2020-05-20 15:24:25 +02:00