From 28c91907f5b63a2b7c84592d86e4102af9bba853 Mon Sep 17 00:00:00 2001 From: Jens Georg Date: Mon, 2 Jul 2012 12:38:13 +0200 Subject: [PATCH] backend: Use librygel-renderer for UPnP --- configure.in | 2 ++ src/backend/Makefile.am | 2 ++ src/backend/bacon-video-widget-gst-0.10.c | 13 +++++++++++++ 3 files changed, 17 insertions(+) diff --git a/configure.in b/configure.in index e319ca00..ab68b1ef 100644 --- a/configure.in +++ b/configure.in @@ -225,6 +225,8 @@ PKG_CHECK_MODULES([DEPENDENCY],[ PKG_CHECK_MODULES(MM, $MM) +PKG_CHECK_MODULES([RYGEL], [rygel-renderer-1.0]) + PKG_CHECK_MODULES([GTK],[gtk+-3.0 gthread-2.0]) GTK_LIBS="$GTK_LIBS $EXTRA_BACKEND_LIBS" AC_SUBST(GTK_LIBS) diff --git a/src/backend/Makefile.am b/src/backend/Makefile.am index f52ff043..355cf367 100644 --- a/src/backend/Makefile.am +++ b/src/backend/Makefile.am @@ -68,12 +68,14 @@ libbaconvideowidget_la_CPPFLAGS = \ libbaconvideowidget_la_CFLAGS = \ $(DEPENDENCY_CFLAGS) \ $(MM_CFLAGS) \ + $(RYGEL_CFLAGS) \ $(MISSING_PLUGINS_CFLAGS) \ $(AM_CFLAGS) libbaconvideowidget_la_LIBADD = \ $(top_builddir)/src/gst/libtotemgsthelpers.la \ $(MM_LIBS) \ + $(RYGEL_LIBS) \ $(GST_LIBS) \ $(EXTRA_BACKEND_LIBS) \ $(X_LIBS) \ diff --git a/src/backend/bacon-video-widget-gst-0.10.c b/src/backend/bacon-video-widget-gst-0.10.c index d0c441cd..1ffa5d2c 100644 --- a/src/backend/bacon-video-widget-gst-0.10.c +++ b/src/backend/bacon-video-widget-gst-0.10.c @@ -67,6 +67,8 @@ #include #include "totem-aspect-frame.h" +#include + /* system */ #include #include @@ -274,6 +276,8 @@ struct BaconVideoWidgetPrivate /* for stepping */ float rate; + + RygelPlaybinRenderer *renderer; }; static void bacon_video_widget_set_property (GObject * object, @@ -2464,6 +2468,11 @@ bacon_video_widget_finalize (GObject * object) g_type_class_unref (g_type_class_peek (BVW_TYPE_METADATA_TYPE)); g_type_class_unref (g_type_class_peek (BVW_TYPE_DVD_EVENT)); + if (bvw->priv->renderer) { + g_object_unref (bvw->priv->renderer); + bvw->priv->renderer = NULL; + } + if (bvw->priv->bus) { /* make bus drop all messages to make sure none of our callbacks is ever * called again (main loop might be run again to display error dialog) */ @@ -6057,6 +6066,10 @@ bacon_video_widget_new (GError ** error) return NULL; } + bvw->priv->renderer = rygel_playbin_renderer_new_wrap (bvw->priv->play, "Totem UPnP Renderer"); + rygel_playbin_renderer_add_interface (bvw->priv->renderer, "eth0"); + rygel_playbin_renderer_add_interface (bvw->priv->renderer, "wlan0"); + bvw->priv->bus = gst_element_get_bus (bvw->priv->play); /* Add the download flag, for streaming buffering,