Closed
Bug 476089
Opened 16 years ago
Closed 16 years ago
liboggplay hangs on random data
Categories
(Core :: Audio/Video, defect)
Core
Audio/Video
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: roc, Unassigned)
Details
Attachments
(1 file)
97.66 KB,
video/ogg
|
Details |
Try loading the attachment below. The decoder thread goes into an infinite loop in oggplay_step_decoding. Basically, 'remaining' is always set to 1, bug oggplay_callback_info_prepare always returns NULL info so we always take the loop back to read_more_data. The reason 'remaining' is set to 1 is that
me->decode_data[i]->current_loc + me->decode_data[i]->granuleperiod
>= me->target + me->decode_data[i]->offset
In this case, me->decode_data[i]->current_loc is -1 and me->decode_data[i]->granuleperiod is 2^32-1, me->target is 0 and me->decode_data[i]->offset is 0.
It looks like current_loc's -1 value is intended as some kind of sentinel so we shouldn't be adding it to granuleperiod this way. Probably we just need to insert a check for -1 here, but I'm not 100% sure since I haven't really figured out the code.
Reporter | ||
Comment 1•16 years ago
|
||
Comment 2•16 years ago
|
||
with the latest trunk version of firefox this cannot be reproduced.
Reporter | ||
Comment 3•16 years ago
|
||
I can't reproduce this right now.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
Comment 4•16 years ago
|
||
Might have been the liboggplay update that went through the night before.
You need to log in
before you can comment on or make changes to this bug.
Description
•