change backend to gstream
authorvlad <vlad@vlanout.(none)>
Tue, 27 Jul 2010 20:38:19 +0000 (23:38 +0300)
committervlad <vlad@vlanout.(none)>
Tue, 27 Jul 2010 20:38:19 +0000 (23:38 +0300)
applet/configure.ac
applet/data/Makefile.in
applet/debian/control
applet/src/Makefile.am
applet/src/livewp-config.c
applet/src/livewp-main.c
applet/src/livewp-scene.c
applet/src/livewp-scene.h

index f148c63..9f7d4ad 100644 (file)
@@ -12,7 +12,7 @@ AC_HEADER_STDC
 AC_PROG_INSTALL
 AM_PROG_LIBTOOL
 
-PKG_CHECK_MODULES(EXAMPLE, hildon-1 libhildondesktop-1 gtk+-2.0)
+PKG_CHECK_MODULES(EXAMPLE, hildon-1 libhildondesktop-1 gtk+-2.0 gstreamer-0.10)
 AC_SUBST(EXAMPLE_CFLAGS)
 AC_SUBST(EXAMPLE_LIBS)
 
index ede4186..c9709e6 100644 (file)
@@ -67,14 +67,15 @@ CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 SOURCES =
 DIST_SOURCES =
-am__installdirs = "$(DESTDIR)$(berlinthemedir)" "$(DESTDIR)$(dbus_servicedir)" "$(DESTDIR)$(desktoppaneldir)" "$(DESTDIR)$(matrixthemedir)" "$(DESTDIR)$(modernthemedir)"
+am__installdirs = "$(DESTDIR)$(berlinthemedir)" "$(DESTDIR)$(dbus_servicedir)" "$(DESTDIR)$(desktoppaneldir)" "$(DESTDIR)$(matrixthemedir)" "$(DESTDIR)$(modernthemedir)" "$(DESTDIR)$(mplayerthemedir)"
 berlinthemeDATA_INSTALL = $(INSTALL_DATA)
 dbus_serviceDATA_INSTALL = $(INSTALL_DATA)
 desktoppanelDATA_INSTALL = $(INSTALL_DATA)
 matrixthemeDATA_INSTALL = $(INSTALL_DATA)
 modernthemeDATA_INSTALL = $(INSTALL_DATA)
+mplayerthemeDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(berlintheme_DATA) $(dbus_service_DATA) $(desktoppanel_DATA) \
-       $(matrixtheme_DATA) $(moderntheme_DATA)
+       $(matrixtheme_DATA) $(moderntheme_DATA) $(mplayertheme_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALL_LINGUAS = @ALL_LINGUAS@
@@ -238,6 +239,8 @@ modernthemedir = $(datadir)/livewp/theme/Modern
 moderntheme_DATA = theme/Modern/*  
 matrixthemedir = $(datadir)/livewp/theme/Matrix
 matrixtheme_DATA = theme/Matrix/* 
+mplayerthemedir = $(datadir)/livewp/theme/Mplayer
+mplayertheme_DATA = theme/Mplayer/* 
 dbus_servicedir = $(datadir)/dbus-1/services
 dbus_service_DATA = org.maemo.livewp.service
 desktoppaneldir = $(datadir)/applications/hildon-control-panel
@@ -249,6 +252,7 @@ icondir = $(datadir)/icons/hicolor
 EXTRA_DIST = $(berlintheme_DATA) \
             $(moderntheme_DATA) \
             $(matrixtheme_DATA) \
+            $(mplayertheme_DATA) \
             $(dbus_service_DATA)
 
 all: all-am
@@ -378,6 +382,23 @@ uninstall-modernthemeDATA:
          echo " rm -f '$(DESTDIR)$(modernthemedir)/$$f'"; \
          rm -f "$(DESTDIR)$(modernthemedir)/$$f"; \
        done
+install-mplayerthemeDATA: $(mplayertheme_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(mplayerthemedir)" || $(mkdir_p) "$(DESTDIR)$(mplayerthemedir)"
+       @list='$(mplayertheme_DATA)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " $(mplayerthemeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(mplayerthemedir)/$$f'"; \
+         $(mplayerthemeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(mplayerthemedir)/$$f"; \
+       done
+
+uninstall-mplayerthemeDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(mplayertheme_DATA)'; for p in $$list; do \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " rm -f '$(DESTDIR)$(mplayerthemedir)/$$f'"; \
+         rm -f "$(DESTDIR)$(mplayerthemedir)/$$f"; \
+       done
 tags: TAGS
 TAGS:
 
@@ -386,7 +407,7 @@ CTAGS:
 
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/theme/Berlin $(distdir)/theme/Matrix $(distdir)/theme/Modern
+       $(mkdir_p) $(distdir)/theme/Berlin $(distdir)/theme/Matrix $(distdir)/theme/Modern $(distdir)/theme/Mplayer
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -417,7 +438,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(DATA)
 installdirs:
-       for dir in "$(DESTDIR)$(berlinthemedir)" "$(DESTDIR)$(dbus_servicedir)" "$(DESTDIR)$(desktoppaneldir)" "$(DESTDIR)$(matrixthemedir)" "$(DESTDIR)$(modernthemedir)"; do \
+       for dir in "$(DESTDIR)$(berlinthemedir)" "$(DESTDIR)$(dbus_servicedir)" "$(DESTDIR)$(desktoppaneldir)" "$(DESTDIR)$(matrixthemedir)" "$(DESTDIR)$(modernthemedir)" "$(DESTDIR)$(mplayerthemedir)"; do \
          test -z "$$dir" || $(mkdir_p) "$$dir"; \
        done
 install: install-am
@@ -464,7 +485,8 @@ info-am:
 
 install-data-am: install-berlinthemeDATA install-data-local \
        install-dbus_serviceDATA install-desktoppanelDATA \
-       install-matrixthemeDATA install-modernthemeDATA
+       install-matrixthemeDATA install-modernthemeDATA \
+       install-mplayerthemeDATA
 
 install-exec-am:
 
@@ -492,7 +514,8 @@ ps-am:
 
 uninstall-am: uninstall-berlinthemeDATA uninstall-dbus_serviceDATA \
        uninstall-desktoppanelDATA uninstall-info-am uninstall-local \
-       uninstall-matrixthemeDATA uninstall-modernthemeDATA
+       uninstall-matrixthemeDATA uninstall-modernthemeDATA \
+       uninstall-mplayerthemeDATA
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
        distclean distclean-generic distclean-libtool distdir dvi \
@@ -501,13 +524,15 @@ uninstall-am: uninstall-berlinthemeDATA uninstall-dbus_serviceDATA \
        install-data-local install-dbus_serviceDATA \
        install-desktoppanelDATA install-exec install-exec-am \
        install-info install-info-am install-man \
-       install-matrixthemeDATA install-modernthemeDATA install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       install-matrixthemeDATA install-modernthemeDATA \
+       install-mplayerthemeDATA install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
        uninstall-berlinthemeDATA uninstall-dbus_serviceDATA \
        uninstall-desktoppanelDATA uninstall-info-am uninstall-local \
-       uninstall-matrixthemeDATA uninstall-modernthemeDATA
+       uninstall-matrixthemeDATA uninstall-modernthemeDATA \
+       uninstall-mplayerthemeDATA
 
 
 install-data-local:
index 88bbbbd..5474ca9 100644 (file)
@@ -2,7 +2,7 @@ Source: live-wallpaper
 Section: user/desktop
 Priority: optional
 Maintainer: Vlad Vasiliev vlad@gas.by
-Build-Depends: debhelper (>= 5), autotools-dev, libhildondesktop1-dev (>= 2.1.16), libosso-dev (>= 1), hildon-control-panel-dev, libsqlite3-dev
+Build-Depends: debhelper (>= 5), autotools-dev, libhildondesktop1-dev (>= 2.1.16), libosso-dev (>= 1), hildon-control-panel-dev, libsqlite3-dev, libgstreamer0.10-dev
 Standards-Version: 3.7.2
 
 Package: live-wallpaper
index 3e09fd5..c20492a 100644 (file)
@@ -14,7 +14,7 @@ livewp_SOURCES = $(SOURCE_FILES)
 #
 livewp_CFLAGS = -Wall $(EXAMPLE_CFLAGS) $(OSSO_CFLAGS) $(SQLITE_CFLAGS) -DAPPLICATION
 #
-livewp_LDADD = $(EXAMPLE_LIBS) $(OSSO_LIBS) $(SQLITE_LIBS) 
+livewp_LDADD = $(EXAMPLE_LIBS) $(OSSO_LIBS) $(SQLITE_LIBS) -lgstinterfaces-0.10
 
 # We invent desktoplib_LTLIBRARIES instead of the normal lib_LTLIBRARIES,
 # so we can specify the non-standard installation directory.
index 6b5c0db..96dda24 100644 (file)
@@ -129,7 +129,7 @@ save_config(Animation_WallpaperPrivate *priv) {
         g_free(str);
         str = NULL;
     }
-    if (priv->theme){
+    if (priv->theme_string_parametr1){
         str = g_strdup_printf("%s%i",GCONF_KEY_ADDIONAL_STRING_1, id);
         gconf_client_set_string(gconf_client,
                   str,
index 7508369..7b8e216 100644 (file)
@@ -156,6 +156,7 @@ main(int argc, char *argv[])
     Animation_WallpaperPrivate *priv = g_new0 (Animation_WallpaperPrivate, 1);
     desktop_plugin->priv = priv; 
 
+    gst_init (NULL, NULL);
 
     /* Ininitializing */
     hildon_gtk_init (&argc, &argv);
index b913aae..35bf499 100644 (file)
@@ -65,25 +65,38 @@ parsestring(char *line, char **argv)
                  *argv = '\0';                 /* mark the end of argument list  */
 }
 
+
 void
 init_scene_Mplayer(AWallpaperPlugin *desktop_plugin)
 {
-    fprintf(stderr,"init_scene_Mplayer\n");
-    char* child_argv[128];
-    char *run_string = NULL;
-
-    fprintf(stderr, "PARAMETR %s\n",  desktop_plugin->priv->theme_string_parametr1);
-    run_string = g_strdup_printf("/usr/bin/mplayer -vo x11 -wid %d %s\n", \
-                                GDK_WINDOW_XID(desktop_plugin->priv->window->window), desktop_plugin->priv->theme_string_parametr1);
-    parsestring(run_string, child_argv);
-
-    desktop_plugin->priv->podpid = fork();
-    if (desktop_plugin->priv->podpid == 0){
-       execvp("/usr/bin/mplayer", child_argv);
-       fprintf(stderr,"Problem with new podprocess");
+    GstElement *pipeline;                                                                                                                    
+    GstElement *bin;                                                                                                                                                           
+    GstElement *videosink;                                                                                                
+    GstFormat format; 
+
+
+
+    fprintf(stderr,"dddddddddddddddddddd\n");
+    pipeline= gst_pipeline_new("gst-player");
+    bin = gst_element_factory_make ("playbin2", "bin");
+    videosink = gst_element_factory_make ("ximagesink", "videosink");
+    g_object_set (G_OBJECT (bin), "video-sink", videosink, NULL);
+    gst_bin_add (GST_BIN (pipeline), bin);
+
+    {
+       GstBus *bus;
+       bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+//     gst_bus_add_watch(bus, bus_call, NULL);
+//     gst_bus_set_sync_handler(bus, (GstBusSyncHandler)SetVideoAreaXID, desktop_plugin);
+       gst_object_unref (bus);
     }
-    g_free(run_string);
-
+    g_object_set (G_OBJECT (bin), "uri", "file:///home/user/MyDocs/.videos/9.mp4", NULL );
+    g_object_set (G_OBJECT (videosink), "force-aspect-ratio", TRUE, NULL  );
+    if (GST_IS_X_OVERLAY (videosink)){
+           printf("Is Overlay (Win ID: %i)!!\n",GPOINTER_TO_INT(GDK_WINDOW_XWINDOW(desktop_plugin->priv->window->window)));
+           gst_x_overlay_set_xwindow_id (GST_X_OVERLAY (videosink), GDK_DRAWABLE_XID(desktop_plugin->priv->window->window));
+    }
+    gst_element_set_state (pipeline, GST_STATE_PLAYING);
 }
 
 void
index 2054400..7a0e58d 100644 (file)
@@ -30,7 +30,9 @@
 #include <sys/time.h>
 #include "livewp-rules.h"
 #include <glib-object.h>
-
+/* Gstreamer */
+#include <gst/gst.h>
+#include <gst/interfaces/xoverlay.h>