[vlc-devel] [PATCH] araw: fix passthrough copying

Rafaël Carré funman at videolan.org
Tue Nov 12 10:07:02 CET 2013


Le 12/11/2013 01:23, Tristan Matthews a écrit :
> On Mon, Nov 11, 2013 at 12:24 PM, Rafaël Carré <funman at videolan.org> wrote:
>> Le 11/11/2013 18:01, Tristan Matthews a écrit :
>>> On Mon, Nov 11, 2013 at 11:55 AM, Rafaël Carré <funman at videolan.org> wrote:
>>>> Hello,
>>>>
>>>> Le 10/11/2013 17:29, Tristan Matthews a écrit :
>>>>> Fixes #9343 where in->i_buffer is greater than in->i_nb_samples * sizeof(frame).
>>>>
>>>> In which case does this happen?
>>>
>>> When clicking "fingerprint" while playing an opus file (as per
>>> https://trac.videolan.org/vlc/ticket/9343 )
>>> I guess the larger question is, why does in have a bigger buffer than
>>> its sample count? I guess at some point the sample count or
>>> buffer_count is being updated properly?
>>
>> Hmm ok I will try again to reproduce that bug (last time it worked fine
>> for me)

Just tried again and I have no problem at all:

(gdb) print *in
$4 = {p_next = 0x0, p_buffer = 0x7fffa803af40 "", i_buffer = 3840,
p_start = 0x7fffa803af10 "", i_size = 7776, i_flags = 0, i_nb_samples =
960, i_pts = 1654885961, i_dts = 1654885961, i_length = 20000,
pf_release = 0x7ffff7159bf0 <block_generic_Release>}
(gdb) print *out
$5 = {p_next = 0x0, p_buffer = 0x7fffa803ce00 "", i_buffer = 3840,
p_start = 0x7fffa803cdd0 "", i_size = 3936, i_flags = 0, i_nb_samples =
0, i_pts = 0, i_dts = 0, i_length = 0, pf_release = 0x7ffff7159bf0
<block_generic_Release>}
(gdb) print enc->fmt_out.audio.i_bytes_per_frame
$6 = 4

i_buffer is identical for in and out in my case

My test file was testvector12.bit.opus , next to testvector07.bit.opus
which is already mentioned on the ticket.

> I'm testing with opus 1.0.3, not sure if that makes a difference.

1.1 beta 3 here (from Debian) although I doubt it makes a difference,
I'd rather guess it depends on how the file was encoded so please share
your samples :P



More information about the vlc-devel mailing list