[totem] backend: Make sure dvdreadsrc never gets used



commit 2ed7fc7aea8dfa0714728b650bbf34db013c8477
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Jul 12 18:11:51 2012 +0100

    backend: Make sure dvdreadsrc never gets used
    
    resindvd isn't ported to GStreamer 1.0 yet, and dvdreadsrc is
    not something we want users to think is the DVD playback experience
    of Totem.
    
    Remove dvdreadsrc from the plugin registry so it's never auto-plugged
    when looking for a dvd:// handler.

 .../bacon-video-widget-gst-missing-plugins.c       |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/src/backend/bacon-video-widget-gst-missing-plugins.c b/src/backend/bacon-video-widget-gst-missing-plugins.c
index 871402a..d73f511 100644
--- a/src/backend/bacon-video-widget-gst-missing-plugins.c
+++ b/src/backend/bacon-video-widget-gst-missing-plugins.c
@@ -347,10 +347,17 @@ bacon_video_widget_gst_missing_plugins_setup (BaconVideoWidget *bvw)
 #endif
 }
 
-void 
+void
 bacon_video_widget_gst_missing_plugins_blacklist (void)
 {
-	const gchar *blacklisted_elements[] = { "ffdemux_flv", "avdemux_flv" };
+	struct {
+		const char *name;
+		gboolean remove;
+	} blacklisted_elements[] = {
+		{ "ffdemux_flv", 0 },
+		{ "avdemux_flv", 0 },
+		{ "dvdreadsrc" , 1 }
+	};
 	GstRegistry *registry;
 	guint i;
 
@@ -360,10 +367,15 @@ bacon_video_widget_gst_missing_plugins_blacklist (void)
 		GstPluginFeature *feature;
 
 		feature = gst_registry_find_feature (registry,
-						     blacklisted_elements[i],
+						     blacklisted_elements[i].name,
 						     GST_TYPE_ELEMENT_FACTORY);
 
-		if (feature)
+		if (!feature)
+			continue;
+
+		if (blacklisted_elements[i].remove)
+			gst_registry_remove_feature (registry, feature);
+		else
 			gst_plugin_feature_set_rank (feature, GST_RANK_NONE);
 	}
 }



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