"long-name": "libav Xbox Media Audio 1 decoder",
"pad-templates": {
"sink": {
- "caps": "unknown/unknown:\n",
+ "caps": "audio/x-xma:\n xmaversion: 1\n",
"direction": "sink",
"presence": "always"
},
"long-name": "libav Xbox Media Audio 2 decoder",
"pad-templates": {
"sink": {
- "caps": "unknown/unknown:\n",
+ "caps": "audio/x-xma:\n xmaversion: 2\n",
"direction": "sink",
"presence": "always"
},
break;
}
+ case AV_CODEC_ID_XMA1:
+ {
+ caps =
+ gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-xma",
+ "xmaversion", G_TYPE_INT, 1, NULL);
+ break;
+ }
+ case AV_CODEC_ID_XMA2:
+ {
+ caps =
+ gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-xma",
+ "xmaversion", G_TYPE_INT, 2, NULL);
+ break;
+ }
+
case AV_CODEC_ID_MACE3:
case AV_CODEC_ID_MACE6:
{
}
if (id != AV_CODEC_ID_NONE)
audio = TRUE;
+ } else if (!strcmp (mimetype, "audio/x-xma")) {
+ gint xmaversion = 0;
+
+ if (gst_structure_get_int (structure, "xmaversion", &xmaversion)) {
+ switch (xmaversion) {
+ case 1:
+ id = AV_CODEC_ID_XMA1;
+ break;
+ case 2:
+ id = AV_CODEC_ID_XMA2;
+ break;
+ }
+ }
+ if (id != AV_CODEC_ID_NONE)
+ audio = TRUE;
} else if (!strcmp (mimetype, "audio/x-wms")) {
id = AV_CODEC_ID_WMAVOICE;
audio = TRUE;