diff --git a/pinos/daemon/main.c b/pinos/daemon/main.c index e10cb78d4..5baf5a06a 100644 --- a/pinos/daemon/main.c +++ b/pinos/daemon/main.c @@ -43,6 +43,7 @@ main (gint argc, gchar *argv[]) g_main_loop_run (loop); + pinos_properties_free (props); g_main_loop_unref (loop); g_object_unref (daemon); diff --git a/pinos/modules/gst/gst-manager.c b/pinos/modules/gst/gst-manager.c index eaddea4be..4022994ec 100644 --- a/pinos/modules/gst/gst-manager.c +++ b/pinos/modules/gst/gst-manager.c @@ -218,7 +218,7 @@ start_monitor (PinosGstManager *manager) device_added (manager, device); gst_object_unref (device); - devices = g_list_remove_link (devices, devices); + devices = g_list_delete_link (devices, devices); } } diff --git a/pinos/tools/pinos-monitor.c b/pinos/tools/pinos-monitor.c index 3997e85db..7f3f3980f 100644 --- a/pinos/tools/pinos-monitor.c +++ b/pinos/tools/pinos-monitor.c @@ -37,22 +37,22 @@ print_field (GQuark field, const GValue * value, gpointer user_data) static void print_formats (const gchar *name, GBytes *formats, gchar mark) { - GstCaps *caps; + GstCaps *caps = NULL; guint i; if (formats == NULL) - return; + goto done; caps = gst_caps_from_string (g_bytes_get_data (formats, NULL)); g_print ("%c\t%s:\n", mark, name); if (gst_caps_is_any (caps)) { g_print ("%c\t\tANY\n", mark); - return; + goto done; } if (gst_caps_is_empty (caps)) { g_print ("%c\t\tEMPTY\n", mark); - return; + goto done; } for (i = 0; i < gst_caps_get_size (caps); i++) { GstStructure *structure = gst_caps_get_structure (caps, i); @@ -71,6 +71,10 @@ print_formats (const gchar *name, GBytes *formats, gchar mark) } gst_structure_foreach (structure, print_field, &mark); } + +done: + if (caps) + gst_caps_unref (caps); } static void