Hi,

On Mon, Feb 13, 2012 at 8:14 AM, Ibrahim Sha'ath
<[email protected]> wrote:
> Hey,
>>>> > [wmav2 @ 0x106829e20] prev_block_len_bits N out of range
>>>> > (where N is in the range 4..6).
>>>>
>>>> Do these errors occur when you're decoding only a single file, without
>>>> threading?
>>>
>>> Yes they do, and on both platforms, though I've never seen them cause
>>> a segfault when not parallelised. Also interspersed with those errors
>>> are
>>> [wmav2 @ 0x1030a9800] overflow in spectral RLE, ignoring
>>> [wmav2 @ 0x1030a9800] frame_len overflow
>>>
>>> And very occasionally
>>> [wmav2 @ 0x1030a9800] len -211 invalid
>>>
>>> Do these errors suggest anything in particular to you?
>>
>> Yes, is it possible you're not setting AVCodecContext->bit_rate,
>> ->block_align, ->extradata or ->extradata_size?
>
> I had thought (based on what I'd read in the ffmpeg doxygen) that all
> of those fields (certainly bit_rate, extra_data and extradata_size)
> were set internally by libav for decoding, and only needed to be set
> by the user for encoding?
>
> If I'm wrong, could you suggest what I should set them to, for a
> general decoding solution? I'm seeing no examples online that set
> them.

They are set, but (in the case of WMA) by the demuxer instead of the
decoder. My impression is you're not using the
AVFormatContext->streams[%d]->codec for decoding, but rather create
one independently. Then you need to copy the demuxer values to the
decoder values. If you're using your own demuxer instead of
libavformat's, see libavformat for how to read them.

Ronald
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to