--- a/mozilla-gstreamer.patch Fri Jul 20 09:40:50 2012 +0200
+++ b/mozilla-gstreamer.patch Mon Jul 23 06:33:07 2012 +0200
@@ -1,8 +1,57 @@
# HG changeset patch
-# Parent 305397d1d86aaf3d3da2e9357eea2fdd1888a325
+# Parent a9a49c20c491011f981b6c110aadfa6a01a1431e
# User Wolfgang Rosenauer <wr@rosenauer.org>
Bug 761030 - Crash with HTML 5 video with gstreamer enabled (TM: 16)
+No Bug - use GStreamer _only_ for MP4 (not WebM/OGG)
+
+diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/content/src/nsHTMLMediaElement.cpp
+--- a/content/html/content/src/nsHTMLMediaElement.cpp
++++ b/content/html/content/src/nsHTMLMediaElement.cpp
+@@ -2278,21 +2278,17 @@ nsHTMLMediaElement::CreateDecoder(const
+ nsRefPtr<nsRawDecoder> decoder = new nsRawDecoder();
+ if (decoder->Init(this)) {
+ return decoder.forget();
+ }
+ }
+ #endif
+ #ifdef MOZ_OGG
+ if (IsOggType(aType)) {
+-#ifdef MOZ_GSTREAMER
+- nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
+-#else
+ nsRefPtr<nsOggDecoder> decoder = new nsOggDecoder();
+-#endif
+ if (decoder->Init(this)) {
+ return decoder.forget();
+ }
+ }
+ #endif
+ #ifdef MOZ_WAVE
+ if (IsWaveType(aType)) {
+ nsRefPtr<nsWaveDecoder> decoder = new nsWaveDecoder();
+@@ -2306,21 +2302,17 @@ nsHTMLMediaElement::CreateDecoder(const
+ nsRefPtr<nsMediaPluginDecoder> decoder = new nsMediaPluginDecoder(aType);
+ if (decoder->Init(this)) {
+ return decoder.forget();
+ }
+ }
+ #endif
+ #ifdef MOZ_WEBM
+ if (IsWebMType(aType)) {
+-#ifdef MOZ_GSTREAMER
+- nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
+-#else
+ nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
+-#endif
+ if (decoder->Init(this)) {
+ return decoder.forget();
+ }
+ }
+ #endif
+
+ #ifdef MOZ_GSTREAMER
+ if (IsH264Type(aType)) {
diff --git a/content/media/gstreamer/nsGStreamerReader.cpp b/content/media/gstreamer/nsGStreamerReader.cpp
--- a/content/media/gstreamer/nsGStreamerReader.cpp
+++ b/content/media/gstreamer/nsGStreamerReader.cpp