avdemux: Whitelist the demuxers required for GC/Wii/WiiU ADPCM streams
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Thu, 19 Oct 2017 14:15:26 +0000 (16:15 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 19 Oct 2017 14:50:38 +0000 (16:50 +0200)
Required to play .brstm (GameCube/Wii) and .bfstm (Wii U) files. Needs
at least avdec_adpcm_thp too, but that one is already accessible.

https://bugzilla.gnome.org/show_bug.cgi?id=789139

ext/libav/gstavcodecmap.c
ext/libav/gstavdemux.c

index 7033f54..cc61ec7 100644 (file)
@@ -3498,6 +3498,10 @@ gst_ffmpeg_formatid_to_caps (const gchar * format_name)
     caps = gst_caps_from_string ("audio/x-voc");
   } else if (!strcmp (format_name, "pva")) {
     caps = gst_caps_from_string ("video/x-pva");
+  } else if (!strcmp (format_name, "brstm")) {
+    caps = gst_caps_from_string ("audio/x-brstm");
+  } else if (!strcmp (format_name, "bfstm")) {
+    caps = gst_caps_from_string ("audio/x-bfstm");
   } else {
     gchar *name;
 
index 3728705..33ef89e 100644 (file)
@@ -2084,7 +2084,10 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
         !strcmp (in_plugin->name, "yuv4mpegpipe") ||
         !strcmp (in_plugin->name, "pva") ||
         !strcmp (in_plugin->name, "mpc") ||
-        !strcmp (in_plugin->name, "mpc8") || !strcmp (in_plugin->name, "ivf"))
+        !strcmp (in_plugin->name, "mpc8") ||
+        !strcmp (in_plugin->name, "ivf") ||
+        !strcmp (in_plugin->name, "brstm") ||
+        !strcmp (in_plugin->name, "bfstm"))
       rank = GST_RANK_MARGINAL;
     else {
       GST_DEBUG ("ignoring %s", in_plugin->name);