- if (!(f->subclass & ast->nativeformats))
- CDEBUG(NULL, ast, "Unexpected format.\n");
+ if (!(f->subclass & ast->nativeformats)) {
+ CDEBUG(NULL, ast,
+ "Unexpected format. "
+ "Activating emergency conversion...\n");
+
+ ast_set_write_format(ast, f->subclass);
+ f = (ast->writetrans) ? ast_translate(
+ ast->writetrans, fr, 0) : fr;
+ }