Giter Site home page Giter Site logo

aptX LL support about pulseaudio-modules-bt HOT 9 CLOSED

ehfive avatar ehfive commented on July 24, 2024
aptX LL support

from pulseaudio-modules-bt.

Comments (9)

ValdikSS avatar ValdikSS commented on July 24, 2024 5

I've quick-patched @EHfive's module to support aptX Low Latency and it worked with stock libopenaptx. I've got about 50-65 ms of latency, which is much lower than with stock aptX.
Mailed @pali and @EHfive the Bluetooth dump with aptX LL traffic.

from pulseaudio-modules-bt.

a-rasinski avatar a-rasinski commented on July 24, 2024 4

@EHfive Hey! Awesome work you did with this pa module.
Would really love to have aptx-ll supported. What's the main issue with implementing this? If it's just some tedious work maybe I could help with little guidance from your side. I've been able to build the project and successfully get it running and able to test. Also I have aptx-ll compat device.

from pulseaudio-modules-bt.

noygal avatar noygal commented on July 24, 2024 2

@EHfive Thanks for the great work!

Sadly aptx-ll is 'forgotten' on many audiophile devices due to its lower sound quality and licence structure of codex family. The codex has a real value to htpc/gaming setups, where you can place raspberry pi (or other boards) that would receive the output sound from tv/receiver and broadcast it in the aptx-ll format. I have tried multiple BT solutions, built-in and externals, with multiple streaming codexes, none except aptx-ll offer the level of latency acceptable for video/gaming.

I would like to help out with this feature, but I'm a js developer myself with a past experience from around 10 year ago at C++ (real time image processing). If you can spare the time and have the will, please share some links on the specs/structure of the codex and what need to be done, so I (or someone else) could follow this up.

In any case it would be nice to reopen this issue and add help needed tag to it.

from pulseaudio-modules-bt.

EHfive avatar EHfive commented on July 24, 2024 1

pali/libopenaptx#1 (comment)

Seems aptX LL & aptX Classic share the encoding/decoding processes.

If someone can help to test, aptX LL support could be added to this module.(I have no aptX LL capable device)

from pulseaudio-modules-bt.

noygal avatar noygal commented on July 24, 2024 1

I've quick-patched @EHfive's module to support aptX Low Latency and it worked with stock libopenaptx. I've got about 50-65 ms of latency, which is much lower than with stock aptX.
Mailed @pali and @EHfive the Bluetooth dump with aptX LL traffic.

@ValdikSS can you share your repository? I'll love to test this out.

from pulseaudio-modules-bt.

BAAZKonqi avatar BAAZKonqi commented on July 24, 2024 1

Hi, did the the aptX LL feature make it into the module?
Otherwise I'd really like to see your patched one. @ValdikSS

from pulseaudio-modules-bt.

morguldir avatar morguldir commented on July 24, 2024

I can help, i have aptx LL capable headphones, just tell me what to do.

from pulseaudio-modules-bt.

EHfive avatar EHfive commented on July 24, 2024

Thanks all.

When I look into aptx LL configuration headers, I found that aptX LL have 7 more parameters than aptX.
So let other one to test it would be inefficient,
I decide to put down it now.

typedef struct {
	uint8_t reserved;
	uint8_t target_level2;
	uint8_t target_level1;
	uint8_t initial_level2;
	uint8_t initial_level1;
	uint8_t sra_max_rate;
	uint8_t sra_avg_time;
	uint8_t good_working_level2;
	uint8_t good_working_level1;
} __attribute__ ((packed)) a2dp_aptx_ll_new_caps_t;

typedef struct {
	a2dp_vendor_codec_t info;
	uint8_t channel_mode:4;
	uint8_t frequency:4;
} __attribute__ ((packed)) a2dp_aptx_t;

typedef struct {
	a2dp_vendor_codec_t info;
	uint8_t direction;
	uint8_t sink_frequency:4;
	uint8_t source_frequency:4;
} __attribute__ ((packed)) a2dp_faststream_t;

typedef struct {
	a2dp_vendor_codec_t info;
	uint8_t channel_mode:4;
	uint8_t frequency:4;
	uint8_t bidirect_link:1;
	uint8_t has_new_caps:1;
	uint8_t reserved:6;
	a2dp_aptx_ll_new_caps_t new_caps[0];
} __attribute__ ((packed)) a2dp_aptx_ll_t;

from pulseaudio-modules-bt.

odensc avatar odensc commented on July 24, 2024

@BAAZKonqi nope, but there is a patch for it upstream (I haven't personally tested it)

Edit: Actually it might not be there yet... the author said they planned on it. (see #100)

from pulseaudio-modules-bt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.