rpmfusion-infra / fedy

Fedy makes it easy to install third-party software in Fedora.
GNU General Public License v3.0
177 stars 20 forks source link

Bluetooth aptx Codec #77

Closed jasker5183 closed 1 year ago

jasker5183 commented 3 years ago

There are multiple versions of this library: https://github.com/pali/libopenaptx https://github.com/Arkq/openaptx

Please describe why this package is not eligible for Fedora ? Please mention why Fedora cannot package this component and which RPM Fusion section would apply "free, nonfree, rpi, cuda".

Fedora cannot package this because of patent reasons is my understanding. I guess it would go under the free section like pulseaudio-module-bluetooth-freeworld.

Is this software redistributable ? If a proprietary software is there a notice that the component can be redistributed ?

Pali's version is LGPLv2.1+ and Arkq's is MIT license.

Is this software an alternate version of a Fedora provided package ? If the package already exists in Fedora, please mention why it is incomplete and if the fedora package is even relevant ?

No, not as far as I know.

Additional context Add any other context or screenshots about the feature request here.

I am mainly filing this on behalf of PipeWire as aptx is required for Bluetooth. Currently they build against Pali's version, but Arkq's is newer. Talked to some of the Dev's in IRC they said if I'm filing an issue to have them package Pali's version but they could switch to Arkq's version but maybe they could also just include pulseaudio-module-bluetooth-freeworld as a PipeWire dependency. I guess pulseaudio-module-bluetooth-freeworld has been depreciated so nevermind. They don't really know what the plan is. I just thought that all the other Bluetooth codecs are included individually except for aptx so here I am.

kwizart commented 3 years ago

Thanks for the report

I don't own such bluetooth device, so I cannot maintain that myslef. But anyone is free to submit a package and maintain it in rpmfusion. As I was present on IRC #pipewire when you talked about this issue, it seems like theses libraries aren't fully replacement (understand: ABI incompatible libraries, so having a drop-in replacement isn't that easy). Maybe the pulseaudio-module-bluetooth-freeworld maintainer can help with that ?

jasker5183 commented 3 years ago

I don't have any Bluetooth devices either so it doesn't really make sense for me to maintain this package. The maintainer of pulseaudio-module-bluetooth-freeworld (ehfive/eh5 on Gitlab) has depreciated their repository (that's why I crossed it out above). Looks like they either don't want to maintain it anymore or it was merged into the PulseAudio project, not too sure would have to ask.

kwizart commented 3 years ago

I meant the rpmfusion package maintainer. Not the maintainer of upstream code.

dtantsur commented 2 years ago

I think #78 is more precise when it comes to the current state of things. Fedora 34 uses Pipewire instead of PulseAudio, so the previous pulseaudio-module-bluetooth-freeworld will not work. The thing is, fixing it is very simple: you just need to remove the explicit disable from https://src.fedoraproject.org/rpms/pipewire/blob/rawhide/f/pipewire.spec#_294.

dtantsur commented 2 years ago

@jasker5183 hi, do I get it right that you're involved in the upstream pipewire project? If so, do you think it's feasible to split aptX support into a separate library/plugin/anything that can be built independent of the main project?

jasker5183 commented 2 years ago

@jasker5183 hi, do I get it right that you're involved in the upstream pipewire project? If so, do you think it's feasible to split aptX support into a separate library/plugin/anything that can be built independent of the main project?

Haven't been "involved" for quite some time now (April I guess) so I'm not too sure what their plans are. The person to ask though is pvir on either IRC or Matrix, they are the main bluetooth dev.

pv commented 2 years ago

The codecs are to be split out to separate .so files in pipewire 0.3.35, see https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/905 which will be safe to ship/build separately. It's best to keep the shipped plugin in sync with the pipewire version it's targeting, as the codec ABI may change. The ABI is versioned, and incompatible libraries will be just ignored, so it's safe if the codec and main pipewire updates are not fully in sync --- in the worst case the codec will just be unavailable then, but no segfaults etc.

pv commented 2 years ago

https://admin.rpmfusion.org/pkgdb/package/free/pipewire-codec-aptx/ (in rpmfusion-free-updates-testing)

dtantsur commented 2 years ago

Works for me on Fedora 34 👍🏽 Thank you!

kwizart commented 2 years ago

Anyone to volunteer to add the fedy plugin to ease installation ? Thanks

kwizart commented 1 year ago

Fixed with fedy 5.0.23