[opus] opus_multistream_encode_float not working in libopus 1.1
jmvalin at jmvalin.ca
Fri Jun 20 22:32:33 PDT 2014
I just checked in a fix for the bug you reported. Let me know if it works.
On 05/06/14 12:41 AM, Alpha Thinktink wrote:
> In debugging I saw:
> line 760
> max_data_bytes = IMIN(max_data_bytes,
> max_data_bytes after this code becomes -2 where as before it was
> 10200. I suspect it was because st->bitrate_bps was set to -1000 to
> indicate Auto bitrate. I imagine Max bitrate (-1) has a slightly
> similar effect.
> then in the same c file
> line 846
> curr_max = max_data_bytes - tot_size;
> curr_max becomes -2 as tot_size was 0.
> then line 848
> curr_max -= IMAX(0,4*(st->layout.nb_streams-s-1)-1);
> cur_max becomes -13 as nb_streams was 4 and s was 0.
> then line 849
> curr_max = IMIN(curr_max,MS_FRAME_TMP);
> which left curr_max at -13
> The result at line 853 is opus_encode_native is called with parameters
> so thusly:
> (encoder state pointer, buf pointer, frame_size=960, tmp_data pointer,
> curr_max=-13, lsb_depth=24, pcm pointer, analysis_frame_size=960,
> c1=0, c2=-1, st->layout.nb_channels=4, downmix pointer, float_api=1);
> I don't know what to suggest as I've never tinkered with the opus
> library internals, nor have I ever compiled it before today and do not
> know what it looked like in previous versions. Sorry.
> opus mailing list
> opus at xiph.org
More information about the opus