summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp')
-rw-r--r--Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index c113c69..69bdeab 100644
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -1384,11 +1384,15 @@ static HashSet<String> mimeTypeCache()
// These formats are supported by GStreamer, but not
// correctly advertised.
- if (g_str_equal(name, "video/x-h264")
- || g_str_equal(name, "audio/x-m4a")) {
+ if (g_str_equal(name, "video/x-h264")) {
cache.add(String("video/mp4"));
+ cached = true;
+ }
+
+ if (g_str_equal(name, "audio/x-m4a")) {
cache.add(String("audio/aac"));
cache.add(String("audio/mp4"));
+ cache.add(String("audio/x-m4a"));
cached = true;
}
@@ -1466,6 +1470,15 @@ static HashSet<String> mimeTypeCache()
for (int index = 0; extensions[index]; index++) {
if (g_str_equal(extensions[index], "m4v"))
cache.add(String("video/x-m4v"));
+
+ // Workaround for
+ // https://bugzilla.gnome.org/show_bug.cgi?id=640709.
+ // typefindfunctions <= 0.10.32 doesn't
+ // register the H264 typefinder correctly so
+ // as a workaround we check the registered
+ // file extensions for it.
+ if (g_str_equal(extensions[index], "h264"))
+ cache.add(String("video/mp4"));
}
}
}