totem r5591 - in trunk: . src/backend src/plugins/youtube



Author: hadess
Date: Thu Aug 21 16:13:00 2008
New Revision: 5591
URL: http://svn.gnome.org/viewvc/totem?rev=5591&view=rev

Log:
2008-08-21  Bastien Nocera  <hadess hadess net>

	* src/backend/bacon-video-widget-gst-missing-plugins.h:
	* src/backend/bacon-video-widget-gst-missing-plugins.c
	(bacon_video_widget_gst_missing_plugins_blacklist):
	There's some plugins we just don't want to use, like
	the gst-ffmpeg FLV demuxer (doesn't seek), so blacklist it

	* src/backend/bacon-video-widget-gst-0.10.c
	(bacon_video_widget_init): Call the function above to
	blacklist the ffmpeg FLV demuxer

	* src/plugins/youtube/youtube.py: No need to check for
	the FLV demuxer by hand, we killed the crappy one already,
	launches the plugin install helper when it's missing

	(Closes: #534419)



Modified:
   trunk/ChangeLog
   trunk/src/backend/bacon-video-widget-gst-0.10.c
   trunk/src/backend/bacon-video-widget-gst-missing-plugins.c
   trunk/src/backend/bacon-video-widget-gst-missing-plugins.h
   trunk/src/plugins/youtube/youtube.py

Modified: trunk/src/backend/bacon-video-widget-gst-0.10.c
==============================================================================
--- trunk/src/backend/bacon-video-widget-gst-0.10.c	(original)
+++ trunk/src/backend/bacon-video-widget-gst-0.10.c	Thu Aug 21 16:13:00 2008
@@ -1116,6 +1116,8 @@
 
   bvw->priv->missing_plugins = NULL;
   bvw->priv->plugin_install_in_progress = FALSE;
+
+  bacon_video_widget_gst_missing_plugins_blacklist ();
 }
 
 static void

Modified: trunk/src/backend/bacon-video-widget-gst-missing-plugins.c
==============================================================================
--- trunk/src/backend/bacon-video-widget-gst-missing-plugins.c	(original)
+++ trunk/src/backend/bacon-video-widget-gst-missing-plugins.c	Thu Aug 21 16:13:00 2008
@@ -329,3 +329,21 @@
 	GST_INFO ("Set up support for automatic missing plugin installation");
 #endif
 }
+
+void 
+bacon_video_widget_gst_missing_plugins_blacklist (void)
+{
+	const gchar *blacklisted_elements[] = { "ffdemux_flv" };
+	guint i;
+
+	for (i = 0; i < G_N_ELEMENTS (blacklisted_elements); ++i) {
+		GstPluginFeature *feature;
+
+		feature = gst_default_registry_find_feature (blacklisted_elements[i],
+							     GST_TYPE_ELEMENT_FACTORY);
+
+		if (feature)
+			gst_plugin_feature_set_rank (feature, GST_RANK_NONE);
+	}
+}
+

Modified: trunk/src/backend/bacon-video-widget-gst-missing-plugins.h
==============================================================================
--- trunk/src/backend/bacon-video-widget-gst-missing-plugins.h	(original)
+++ trunk/src/backend/bacon-video-widget-gst-missing-plugins.h	Thu Aug 21 16:13:00 2008
@@ -28,6 +28,7 @@
 G_BEGIN_DECLS
 
 void bacon_video_widget_gst_missing_plugins_setup (BaconVideoWidget *bvw);
+void bacon_video_widget_gst_missing_plugins_blacklist (void);
 
 G_END_DECLS
 

Modified: trunk/src/plugins/youtube/youtube.py
==============================================================================
--- trunk/src/plugins/youtube/youtube.py	(original)
+++ trunk/src/plugins/youtube/youtube.py	Thu Aug 21 16:13:00 2008
@@ -62,7 +62,7 @@
 				import gst
 
 				registry = gst.registry_get_default ()
-				if (self.get_fmt_string () == "" and registry.find_plugin ("flvdemux") == None) or registry.find_plugin ("soup") == None:
+				if registry.find_plugin ("soup") == None:
 					"""This means an error will be displayed when they try to play anything"""
 					self.gstreamer_plugins_present = False
 			except ImportError:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]