[PATCH] bluetooth: Don't abort on SBC decoding error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2014-01-16 at 10:17 +1100, James Bunton wrote:
> ---
>  src/modules/bluetooth/module-bluez5-device.c |   12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)

Thanks for the patch! What's the background here? Are there products on
the market that send invalid SBC data?

It seems that we update timing stuff before the decoding is done, which
means that with your change the timing information behaves as if we
received valid data, but the audio stream from the source doesn't
actually progress. To fix this mismatch, I think you should move the
timing updates to happen after successful decoding, or alternatively we
should replace the invalid data with a matching amount of silence.
(Something to note about the timing code is that it's currently actually
very broken, because "u->read_index += (uint64_t) l" in
a2dp_process_push() treats l as if it referred to the length of the
decoded PCM data, while in reality it refers to length of the RTP header
+ SBC data.)

If this change is justified, the same change should be done in
module-bluez4-device.c too.

-- 
Tanu



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux