[maemo-commits] [maemo-commits] r18483 - in projects/haf/trunk/hildon-thumbnail: . thumbnailers/gst-video-thumbnailer
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon May 25 18:46:07 EEST 2009
- Previous message: [maemo-commits] r18482 - projects/haf/trunk/hildon-thumbnail/debian
- Next message: [maemo-commits] r18484 - in projects/haf/trunk/hildon-thumbnail: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: pvanhoof Date: 2009-05-25 18:46:04 +0300 (Mon, 25 May 2009) New Revision: 18483 Modified: projects/haf/trunk/hildon-thumbnail/ChangeLog projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/Makefile.am projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-main.c projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h Log: 2009-05-25 Mikael Ottela <mikael.ottela at ixonos.com> * thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c * thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h * thumbnailers/gst-video-thumbnailer/Makefile.am * thumbnailers/gst-video-thumbnailer/gst-thumb-main.c: Fixed the thumbnail extension and added unmount handling. Modified: projects/haf/trunk/hildon-thumbnail/ChangeLog =================================================================== --- projects/haf/trunk/hildon-thumbnail/ChangeLog 2009-05-25 15:18:04 UTC (rev 18482) +++ projects/haf/trunk/hildon-thumbnail/ChangeLog 2009-05-25 15:46:04 UTC (rev 18483) @@ -1,3 +1,11 @@ +2009-05-25 Mikael Ottela <mikael.ottela at ixonos.com> + + * thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c + * thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h + * thumbnailers/gst-video-thumbnailer/Makefile.am + * thumbnailers/gst-video-thumbnailer/gst-thumb-main.c: Fixed the + thumbnail extension and added unmount handling. + 2009-05-25 Philip Van Hoof <pvanhoof at codeminded.be> * config.h.in Modified: projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/Makefile.am =================================================================== --- projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/Makefile.am 2009-05-25 15:18:04 UTC (rev 18482) +++ projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/Makefile.am 2009-05-25 15:46:04 UTC (rev 18483) @@ -28,7 +28,9 @@ CLEANFILES = $(com.nokia.Thumbnailer_service_DATA) +if HAVE_GSTREAMER libexec_PROGRAMS = gst-video-thumbnailerd +endif # Marshall gst-video-thumbnailer-marshal.h: gst-video-thumbnailer-marshal.list Modified: projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-main.c =================================================================== --- projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-main.c 2009-05-25 15:18:04 UTC (rev 18482) +++ projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-main.c 2009-05-25 15:46:04 UTC (rev 18483) @@ -23,6 +23,9 @@ #include "config.h" #endif +#include <stdlib.h> +#include <gio/gio.h> + #include "gst-thumb-thumber.h" #define DEFAULT_BUS_NAME "com.nokia.thumbnailer.Gstreamer" @@ -69,6 +72,22 @@ { NULL } }; +static void +mount_pre_unmount_cb (GVolumeMonitor *volume_monitor, + GMount *mount, + Thumber *thumber) +{ + /* FIXME We should instead cancel offending tasks and handle gracefully */ + + GDrive *drive = g_mount_get_drive (mount); + if (g_drive_is_media_removable (drive)) { + g_object_unref (drive); + + exit (0); + } + g_object_unref (drive); +} + gboolean gst_thumb_main_quit (void) { @@ -79,11 +98,12 @@ gint main (gint argc, gchar *argv[]) { - GError *error = NULL; - GValue val = {0, }; - GOptionContext *context = NULL; - GOptionGroup *group = NULL; - Thumber *thumber = NULL; + GError *error = NULL; + GValue val = {0, }; + GOptionContext *context = NULL; + GOptionGroup *group = NULL; + Thumber *thumber = NULL; + GVolumeMonitor *volume_monitor = NULL; g_type_init (); @@ -138,6 +158,11 @@ g_value_set_boolean (&val, !cropped); g_object_set_property (G_OBJECT(thumber), "cropped", &val); g_value_unset (&val); + + /* Create volume monitor */ + volume_monitor = g_volume_monitor_get (); + g_signal_connect (volume_monitor, "mount-pre-unmount", + G_CALLBACK (mount_pre_unmount_cb), thumber); g_message ("Starting..."); thumber_start (thumber); @@ -147,9 +172,16 @@ g_message ("Shutting down..."); - g_main_loop_unref (main_loop); + /* Shut down volume monitor */ + g_signal_handlers_disconnect_by_func (volume_monitor, + mount_pre_unmount_cb, + thumber); + g_object_unref (volume_monitor); + g_object_unref (thumber); + g_main_loop_unref (main_loop); + g_message ("\nDone\n\n"); return 0; Modified: projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c =================================================================== --- projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c 2009-05-25 15:18:04 UTC (rev 18482) +++ projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.c 2009-05-25 15:46:04 UTC (rev 18483) @@ -31,6 +31,7 @@ #include "gst-thumb-thumber.h" #include <glib.h> +#include <gio/gio.h> #include <gst/gst.h> #include <gdk-pixbuf/gdk-pixbuf.h> #include <dbus/dbus-glib-bindings.h> @@ -799,7 +800,7 @@ thumber = THUMBER (data); priv = THUMBER_GET_PRIVATE (thumber); - if ((file = g_queue_pop_head (priv->file_queue)) != NULL) { + if ((file = g_queue_peek_head (priv->file_queue)) != NULL) { if (!thumber_pipe_run (priv->pipe, file->uri, @@ -828,6 +829,7 @@ file->uri); } + file = g_queue_pop_head (priv->file_queue); file_info_free (file); } else { Modified: projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h =================================================================== --- projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h 2009-05-25 15:18:04 UTC (rev 18482) +++ projects/haf/trunk/hildon-thumbnail/thumbnailers/gst-video-thumbnailer/gst-thumb-thumber.h 2009-05-25 15:46:04 UTC (rev 18483) @@ -27,6 +27,7 @@ #include <glib-object.h> #include <glib.h> +#include <gio/gio.h> #define TYPE_THUMBER (thumber_get_type()) #define THUMBER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_THUMBER, Thumber))
- Previous message: [maemo-commits] r18482 - projects/haf/trunk/hildon-thumbnail/debian
- Next message: [maemo-commits] r18484 - in projects/haf/trunk/hildon-thumbnail: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]