return f;
}
- if (ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), f->subclass.format) == AST_FORMAT_CMP_NOT_EQUAL) {
+
+ if (ast_format_cap_iscompatible_format(channel->session->endpoint->media.codecs, f->subclass.format) == AST_FORMAT_CMP_NOT_EQUAL) {
+ ast_debug(1, "Oooh, got a frame with format of %s on channel '%s' when endpoint '%s' is not configured for it\n",
+ ast_format_get_name(f->subclass.format), ast_channel_name(ast),
+ ast_sorcery_object_get_id(channel->session->endpoint));
+
+ ast_frfree(f);
+ return &ast_null_frame;
+ } else if (ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), f->subclass.format) == AST_FORMAT_CMP_NOT_EQUAL) {
struct ast_format_cap *caps;
ast_debug(1, "Oooh, format changed to %s\n", ast_format_get_name(f->subclass.format));