mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
bluez5: convert sco-source to use media_codec API
Use codecs via media_codec in sco-source instead of implementing the decoding in-place. Also slightly adjust media-source decode semantics. In future, media-source could replace sco-source to reduce code duplication.
This commit is contained in:
parent
123f937701
commit
1c5895f625
2 changed files with 77 additions and 272 deletions
|
|
@ -465,9 +465,10 @@ static int32_t decode_data(struct impl *this, uint8_t *src, uint32_t src_size,
|
|||
|
||||
/* decode */
|
||||
avail = dst_size;
|
||||
while (src_size > 0) {
|
||||
do {
|
||||
written = 0;
|
||||
if ((processed = this->codec->decode(this->codec_data,
|
||||
src, src_size, dst, avail, &written)) <= 0)
|
||||
src, src_size, dst, avail, &written)) < 0)
|
||||
return processed;
|
||||
|
||||
/* update source and dest pointers */
|
||||
|
|
@ -476,7 +477,8 @@ static int32_t decode_data(struct impl *this, uint8_t *src, uint32_t src_size,
|
|||
src += processed;
|
||||
avail -= written;
|
||||
dst += written;
|
||||
}
|
||||
} while (src_size && (processed || written));
|
||||
|
||||
return dst_size - avail;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue