The correct fix is to use gcc-4.7 or newer. If the compiler borked
this, one should trust nothing else it produces.
Revert "FS-6524,FS-6494: the compiler for rpi seems to be strangely
mis-optimizing this if/else block. Yes, its already set to this value,
but without the else block, it 'magically' hits the if blocks above,
unless you sleep, print a log, or add the else"
This reverts commit
1ca1d63795ae4b42d0a74e2d9432d98c8075c98b.
memset(&codec_fmtp, 0, sizeof(codec_fmtp));
if (zstr(map->rm_fmtp)) {
- if (!strcasecmp(rm_encoding, "ilbc")) {
+ if (!strcasecmp(map->rm_encoding, "ilbc")) {
codec_ms = 30;
map_bit_rate = 13330;
- } else if (!strcasecmp(rm_encoding, "isac")) {
+ } else if (!strcasecmp(map->rm_encoding, "isac")) {
codec_ms = 30;
map_bit_rate = 32000;
- } else {
- map_bit_rate = switch_known_bitrate((switch_payload_t)map->rm_pt);
}
} else {
if ((switch_core_codec_parse_fmtp(map->rm_encoding, map->rm_fmtp, map->rm_rate, &codec_fmtp)) == SWITCH_STATUS_SUCCESS) {