Bug 1080995 - Don't use the h264parser gstreamer element. r=kinetik, a=lizzard
authorRalph Giles <giles@mozilla.com>
Tue, 31 Mar 2015 16:18:22 -0700
changeset 258308 5b6180fc4286
parent 258303 499e1c563939
child 258309 5c4cacd09c9c
push id4641
push userryanvm@gmail.com
push date2015-04-07 01:58 +0000
treeherdermozilla-beta@5c4cacd09c9c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskinetik, lizzard
bugs1080995
milestone38.0
Bug 1080995 - Don't use the h264parser gstreamer element. r=kinetik, a=lizzard
dom/media/gstreamer/GStreamerFormatHelper.cpp
--- a/dom/media/gstreamer/GStreamerFormatHelper.cpp
+++ b/dom/media/gstreamer/GStreamerFormatHelper.cpp
@@ -62,16 +62,17 @@ static char const * const sDefaultCodecC
   {"audio/mp4", "audio/mpeg, mpegversion=(int)4"},
   {"audio/x-m4a", "audio/mpeg, mpegversion=(int)4"},
   {"audio/mp3", "audio/mpeg, layer=(int)3"},
   {"audio/mpeg", "audio/mpeg, layer=(int)3"}
 };
 
 static char const * const sPluginBlacklist[] = {
   "flump3dec",
+  "h264parse",
 };
 
 GStreamerFormatHelper::GStreamerFormatHelper()
   : mFactories(nullptr),
     mCookie(static_cast<uint32_t>(-1))
 {
   if (!sLoadOK) {
     return;
@@ -246,17 +247,18 @@ static gboolean FactoryFilter(GstPluginF
 {
   if (!GST_IS_ELEMENT_FACTORY(aFeature)) {
     return FALSE;
   }
 
   const gchar *className =
     gst_element_factory_get_klass(GST_ELEMENT_FACTORY_CAST(aFeature));
 
-  if (!strstr(className, "Decoder") && !strstr(className, "Demux")) {
+  if (!strstr(className, "Decoder") && !strstr(className, "Demux") &&
+      !strstr(className, "Parser")) {
     return FALSE;
   }
 
   return
     gst_plugin_feature_get_rank(aFeature) >= GST_RANK_MARGINAL &&
     !GStreamerFormatHelper::IsPluginFeatureBlacklisted(aFeature);
 }