Comments (8)
Yes, BlueALSA v4.1.1 requires libglib2.0 version 2.64 or later in order to generate the D-Bus interface code. This should be documented, I will update the wiki page.
See the option --glib-min-required=
in the gdbus-codegen manual page (of version 2.64 or later!) for more detail on what is wrong (Bluez and BlueALSA both use file descriptor parameters)
from bluez-alsa.
Okay, thanks. v4.1.0 will do just fine.
from bluez-alsa.
Closing as there is actually no issue.
from bluez-alsa.
On further investigation, it turns out this is an old bug in gdbus-codegen; The fix appeared in glib2.0 release 2.61.0 - see
GNOME/glib@5649255
@arkq - One possible workaround for BueALSA to work with older glib2.0 versions would be to move the BatteryProvider1
interface declaration lower down in the bluez-iface.xml file, so that the first interface is MediaEndpoint1
which does have methods and therefore this bug would not be triggered. The same applies to the Manager1
interface in bluealsa-iface.xml
@D1eter - could you possibly try that workaround with BlueALSA 4.1.1 on your buster installation to check that it really does fix this issue?
from bluez-alsa.
Sure, just tell me what to do. Note that Debian buster has glib2.0 release 2.58.3. Will that do?
from bluez-alsa.
glib2.0 release 2.58.3. Will that do?
Yes, any release before 2.61 has the bug linked above.
To test this workaround, apply this patch before running configure:
diff --git a/src/bluealsa-iface.xml b/src/bluealsa-iface.xml
index ef14291..d81f173 100644
--- a/src/bluealsa-iface.xml
+++ b/src/bluealsa-iface.xml
@@ -7,13 +7,6 @@
-->
<node>
- <interface name="org.bluealsa.Manager1">
- <property name="Version" type="s" access="read"/>
- <property name="Adapters" type="as" access="read"/>
- <property name="Profiles" type="as" access="read"/>
- <property name="Codecs" type="as" access="read"/>
- </interface>
-
<interface name="org.bluealsa.PCM1">
<method name="Open">
<arg direction="out" type="h" name="fd_pcm"/>
@@ -41,6 +34,13 @@
<property name="Volume" type="q" access="readwrite"/>
</interface>
+ <interface name="org.bluealsa.Manager1">
+ <property name="Version" type="s" access="read"/>
+ <property name="Adapters" type="as" access="read"/>
+ <property name="Profiles" type="as" access="read"/>
+ <property name="Codecs" type="as" access="read"/>
+ </interface>
+
<interface name="org.bluealsa.RFCOMM1">
<method name="Open">
<arg direction="out" type="h" name="fd"/>
diff --git a/src/bluez-iface.xml b/src/bluez-iface.xml
index 83568ce..7f46eba 100644
--- a/src/bluez-iface.xml
+++ b/src/bluez-iface.xml
@@ -7,12 +7,6 @@
-->
<node>
- <interface name="org.bluez.BatteryProvider1">
- <property name="Device" type="o" access="read"/>
- <property name="Percentage" type="y" access="read"/>
- <property name="Source" type="s" access="read"/>
- </interface>
-
<interface name="org.bluez.MediaEndpoint1">
<method name="SelectConfiguration">
<arg direction="in" type="ay" name="capabilities"/>
@@ -29,6 +23,12 @@
</method>
</interface>
+ <interface name="org.bluez.BatteryProvider1">
+ <property name="Device" type="o" access="read"/>
+ <property name="Percentage" type="y" access="read"/>
+ <property name="Source" type="s" access="read"/>
+ </interface>
+
<interface name="org.bluez.Profile1">
<method name="NewConnection">
<arg direction="in" type="o" name="device"/>
If you are not sure how to apply a patch, then instead you can edit the files src/bluealsa-iface.xml
and src/bluez-iface.xml
instead. In each file just move the first
<interface name=...>
...
</interface>
block so that it becomes the second interface block.
from bluez-alsa.
With the patch v4.1.1 builds without problems. Listening to v4.1.1 just now. Thanks!
from bluez-alsa.
@borine many thanks for finding a cause of that, and many thanks to @D1eter for testing.
Regarding the glib version, it seems that anyway I will have to bump minimal requirement to at least 2.57.2 2.58.2, because it's the first version when gdbus-codegen
has got --interface-info-body
option... I will check whether everything builds correctly with that version.
EDIT: In 2.57.2 there are other issues with gdbus-codegen
, it seems that minimal version is actually 2.58.2
from bluez-alsa.
Related Issues (20)
- Routing audio to bluealsa from hw:0,1 HOT 31
- Test all deps with pkgconfig HOT 10
- arecord Unable to install hw params, record from bluetooth failed HOT 3
- Error compiling with aptx HOT 1
- Audio cut off in the beginning of the file HOT 3
- how can an SCO link be reestablished after it has been disconnected by the HF device? HOT 3
- How to pipe bluealsa PCM to fifo? HOT 18
- aplay Unable to install hw params HOT 1
- Can't get the A2DP profile to use LDAC codec HOT 11
- LDAC shows only 96KHz as sample rate | support for other sampling rates HOT 20
- Configuring asoundrc for default bluetooth ignored for Internet Browsers? HOT 2
- LE Audio support in bluez-alsa HOT 1
- Audio volume does not go to 100% on Raspberry Pi HOT 19
- Can't detect libsystemd-dev on debian trixie HOT 2
- test-alsa-ctl fails with bluealsa-mock: W: Couldn't get HCI device info: Address family not supported by protocol HOT 2
- test-alsa-midi fails due to permission errors HOT 2
- Build failure: undeclared variables HOT 9
- Distorted recording with certain mic (but not in pulseaudio) HOT 3
- RPI 4: Arecord the audio stream from the phone through Bluezalsa HOT 10
- 4.3.0: org.freedesktop.DBus.Error.NoReply HOT 53
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bluez-alsa.