Blame webkitgtk-2.11.5-youtube.patch

74674eb
diff -up webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
74674eb
--- webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig	2016-02-09 10:04:54.898217667 +0100
74674eb
+++ webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2016-02-09 10:13:35.080875509 +0100
74674eb
@@ -1734,7 +1734,7 @@ static HashSet
74674eb
             "video/flv",
74674eb
             "video/mj2",
74674eb
             "video/mp2t",
74674eb
-            "video/mp4",
74674eb
+//            "video/mp4",
74674eb
             "video/mpeg",
74674eb
             "video/mpegts",
74674eb
             "video/ogg",
74674eb
@@ -1759,6 +1759,21 @@ static HashSet
74674eb
         };
74674eb
         for (auto& type : mimeTypes)
74674eb
             set.add(type);
74674eb
+
74674eb
+        // Hack to make YouTube work, https://bugs.webkit.org/show_bug.cgi?id=135972
74674eb
+        gint exit_status = 1;
74674eb
+        GUniqueOutPtr<GError> error;
74674eb
+        GUniqueOutPtr<char> stdout_to_discard;
74674eb
+        GUniqueOutPtr<char> stderr_to_discard;
74674eb
+        gboolean success = g_spawn_command_line_sync(
74674eb
+            "rpm -qi gstreamer1-libav",
74674eb
+            &stdout_to_discard.outPtr(),
74674eb
+            &stderr_to_discard.outPtr(),
74674eb
+            &exit_status,
74674eb
+            &error.outPtr());
74674eb
+        if (success && !error && !exit_status)
74674eb
+            set.add(String::fromUTF8("video/mp4"));
74674eb
+
74674eb
         return set;
74674eb
     }();
74674eb
     return cache;