Build AsminVoicechat / prepare-release (push) Successful in 14s
Build AsminVoicechat / build-and-test (17) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (18) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (19) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (20) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (21) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (22) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (23) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (24) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (25) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (26) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (27-ea) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (16) (push) Canceled after 38s
61 lines
1.6 KiB
Java
61 lines
1.6 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
package de.maxhenkel.voicechat.concentus;
|
|
|
|
import de.maxhenkel.voicechat.concentus.ChannelLayout;
|
|
|
|
class OpusMultistream {
|
|
OpusMultistream() {
|
|
}
|
|
|
|
static int validate_layout(ChannelLayout layout) {
|
|
int max_channel = layout.nb_streams + layout.nb_coupled_streams;
|
|
if (max_channel > 255) {
|
|
return 0;
|
|
}
|
|
for (int i = 0; i < layout.nb_channels; ++i) {
|
|
if (layout.mapping[i] < max_channel || layout.mapping[i] == 255) continue;
|
|
return 0;
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
static int get_left_channel(ChannelLayout layout, int stream_id, int prev) {
|
|
int i;
|
|
int n = i = prev < 0 ? 0 : prev + 1;
|
|
while (i < layout.nb_channels) {
|
|
if (layout.mapping[i] == stream_id * 2) {
|
|
return i;
|
|
}
|
|
++i;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
static int get_right_channel(ChannelLayout layout, int stream_id, int prev) {
|
|
int i;
|
|
int n = i = prev < 0 ? 0 : prev + 1;
|
|
while (i < layout.nb_channels) {
|
|
if (layout.mapping[i] == stream_id * 2 + 1) {
|
|
return i;
|
|
}
|
|
++i;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
static int get_mono_channel(ChannelLayout layout, int stream_id, int prev) {
|
|
int i;
|
|
int n = i = prev < 0 ? 0 : prev + 1;
|
|
while (i < layout.nb_channels) {
|
|
if (layout.mapping[i] == stream_id + layout.nb_coupled_streams) {
|
|
return i;
|
|
}
|
|
++i;
|
|
}
|
|
return -1;
|
|
}
|
|
}
|
|
|