diff --git a/src/client/pv-context.c b/src/client/pv-context.c index a9b8b9990..7467275d0 100644 --- a/src/client/pv-context.c +++ b/src/client/pv-context.c @@ -329,7 +329,6 @@ on_client_connected (GObject *source_object, } g_variant_get (ret, "(o)", &priv->client_path); - g_print ("got client %s\n", priv->client_path); g_variant_unref (ret); } @@ -365,8 +364,6 @@ subscription_cb (PvSubscribe *subscribe, PvContext *context = user_data; PvContextPrivate *priv = context->priv; - g_print ("got event %d %d\n", event, flags); - g_assert (g_main_context_get_thread_default () == priv->context); switch (flags) { @@ -415,7 +412,6 @@ subscription_state (GObject *object, g_assert (object == G_OBJECT (priv->subscribe)); state = pv_subscribe_get_state (priv->subscribe); - g_print ("got subscription state %d\n", state); switch (state) { case PV_SUBSCRIPTION_STATE_READY: @@ -439,8 +435,6 @@ on_name_appeared (GDBusConnection *connection, g_assert (g_main_context_get_thread_default () == priv->context); - g_print ("context: on name appeared\n"); - priv->connection = connection; g_object_set (priv->subscribe, "connection", priv->connection, @@ -457,8 +451,6 @@ on_name_vanished (GDBusConnection *connection, g_assert (g_main_context_get_thread_default () == priv->context); - g_print ("context: on name vanished\n"); - priv->connection = connection; g_object_set (priv->subscribe, "connection", connection, NULL); diff --git a/src/client/pv-stream.c b/src/client/pv-stream.c index ce4968fd2..c15cbe132 100644 --- a/src/client/pv-stream.c +++ b/src/client/pv-stream.c @@ -390,15 +390,11 @@ on_source_output_proxy (GObject *source_object, if (priv->source_output == NULL) goto source_output_failed; - g_print ("got source-output %s\n", priv->source_output_path); - v = g_dbus_proxy_get_cached_property (priv->source_output, "PossibleFormats"); if (v) { str = g_variant_dup_string (v, NULL); g_variant_unref (v); - g_print ("got possible formats %s\n", str); - if (priv->possible_formats) g_bytes_unref (priv->possible_formats); priv->possible_formats = g_bytes_new_take (str, strlen (str) + 1); @@ -459,7 +455,7 @@ create_failed: { priv->error = error; stream_set_state (stream, PV_STREAM_STATE_ERROR); - g_print ("failed to get connect capture: %s", error->message); + g_warning ("failed to get connect capture: %s", error->message); return; } } @@ -595,7 +591,7 @@ on_source_output_removed (GObject *source_object, if (ret == NULL) { priv->error = error; stream_set_state (stream, PV_STREAM_STATE_ERROR); - g_print ("failed to disconnect: %s", error->message); + g_warning ("failed to disconnect: %s", error->message); return; } g_clear_pointer (&priv->source_output_path, g_free); @@ -703,7 +699,7 @@ on_socket_condition (GSocket *socket, break; } case G_IO_OUT: - g_print ("can do IO\n"); + g_warning ("can do IO\n"); break; default: @@ -719,7 +715,6 @@ handle_socket (PvStream *stream, gint fd) PvStreamPrivate *priv = stream->priv; GError *error = NULL; - g_print ("got fd %d\n", fd); priv->socket = g_socket_new_from_fd (fd, &error); if (priv->socket == NULL) goto socket_failed; diff --git a/src/client/pv-subscribe.c b/src/client/pv-subscribe.c index 53a7701ce..d6b9c1667 100644 --- a/src/client/pv-subscribe.c +++ b/src/client/pv-subscribe.c @@ -48,6 +48,7 @@ typedef struct gboolean pending; GDBusProxy *proxy; GList *tasks; + gboolean removed; } PvObjectData; @@ -120,6 +121,30 @@ on_proxy_properties_changed (GDBusProxy *proxy, notify_event (data->subscribe, data, PV_SUBSCRIPTION_EVENT_CHANGE); } +static void +object_data_free (PvObjectData *data) +{ + g_object_unref (data->proxy); + g_free (data->sender_name); + g_free (data->object_path); + g_free (data->interface_name); + g_free (data); +} + +static void +remove_data (PvSubscribe *subscribe, PvObjectData *data) +{ + PvSubscribePrivate *priv = subscribe->priv; + + if (data->pending) { + data->removed = TRUE; + } else { + priv->objects = g_list_remove (priv->objects, data); + notify_event (subscribe, data, PV_SUBSCRIPTION_EVENT_REMOVE); + object_data_free (data); + } +} + static void on_proxy_created (GObject *source_object, GAsyncResult *res, @@ -142,8 +167,6 @@ on_proxy_created (GObject *source_object, return; } - g_print ("got proxy for %s:%s\n", data->object_path, data->interface_name); - g_signal_connect (data->proxy, "g-properties-changed", (GCallback) on_proxy_properties_changed, @@ -161,8 +184,12 @@ on_proxy_created (GObject *source_object, if (--priv->pending_proxies == 0) subscription_set_state (subscribe, PV_SUBSCRIPTION_STATE_READY); + + if (data->removed) + remove_data (subscribe, data); } + static void add_interface (PvSubscribe *subscribe, const gchar *object_path, @@ -182,8 +209,6 @@ add_interface (PvSubscribe *subscribe, priv->objects = g_list_prepend (priv->objects, data); priv->pending_proxies++; - g_print ("making proxy for %s:%s\n", object_path, interface_name); - g_dbus_proxy_new (priv->connection, G_DBUS_PROXY_FLAGS_NONE, NULL, /* GDBusInterfaceInfo* */ @@ -200,7 +225,18 @@ remove_interface (PvSubscribe *subscribe, const gchar *object_path, const gchar *interface_name) { - g_print ("remove interface %s\n", interface_name); + PvSubscribePrivate *priv = subscribe->priv; + GList *walk; + + for (walk = priv->objects; walk; walk = g_list_next (walk)) { + PvObjectData *data = walk->data; + + if (g_strcmp0 (data->object_path, object_path) == 0 && + g_strcmp0 (data->interface_name, interface_name) == 0) { + remove_data (subscribe, data); + break; + } + } } static void @@ -246,8 +282,6 @@ on_manager_proxy_signal (GDBusProxy *proxy, PvSubscribe *subscribe = user_data; const gchar *object_path; - g_print ("proxy signal %s %p\n", signal_name, g_main_context_get_thread_default ()); - if (g_strcmp0 (signal_name, "InterfacesAdded") == 0) { GVariant *ifaces_and_properties; @@ -317,8 +351,6 @@ manager_proxy_appeared (PvSubscribe *subscribe) { PvSubscribePrivate *priv = subscribe->priv; - g_print ("client manager appeared def: %p\n", g_main_context_get_thread_default ()); - g_dbus_proxy_call (priv->manager_proxy, "GetManagedObjects", NULL, /* parameters */ @@ -343,12 +375,7 @@ on_manager_proxy_name_owner (GObject *object, PvSubscribePrivate *priv = subscribe->priv; gchar *name_owner; - g_print ("client manager owner def: %p\n", g_main_context_get_thread_default ()); - g_object_get (priv->manager_proxy, "g-name-owner", &name_owner, NULL); - g_print ("client manager %s %s\n", - g_dbus_proxy_get_name (G_DBUS_PROXY (priv->manager_proxy)), - name_owner); if (name_owner) { manager_proxy_appeared (subscribe); @@ -364,8 +391,6 @@ connect_client_signals (PvSubscribe *subscribe) { PvSubscribePrivate *priv = subscribe->priv; - g_print ("add signals def: %p\n", g_main_context_get_thread_default ()); - g_signal_connect (priv->manager_proxy, "notify::g-name-owner", (GCallback) on_manager_proxy_name_owner, subscribe); @@ -382,8 +407,6 @@ on_manager_proxy_ready (GObject *source_object, PvSubscribePrivate *priv = subscribe->priv; GError *error = NULL; - g_print ("manager proyx ready def: %p\n", g_main_context_get_thread_default ()); - priv->manager_proxy = g_dbus_proxy_new_finish (res, &error); if (priv->manager_proxy == NULL) goto manager_error; @@ -413,9 +436,6 @@ install_subscription (PvSubscribe *subscribe) subscription_set_state (subscribe, PV_SUBSCRIPTION_STATE_CONNECTING); - g_print ("new client manager def: %p\n", g_main_context_get_thread_default ()); - - g_print ("new client manager for %s\n", priv->service); g_dbus_proxy_new (priv->connection, G_DBUS_PROXY_FLAGS_NONE, NULL, /* GDBusInterfaceInfo* */ @@ -511,7 +531,6 @@ pv_subscribe_finalize (GObject * object) PvSubscribe *subscribe = PV_SUBSCRIBE (object); PvSubscribePrivate *priv = subscribe->priv; - g_print ("cancel\n"); g_cancellable_cancel (priv->cancellable); if (priv->manager_proxy) g_object_unref (priv->manager_proxy); diff --git a/src/modules/v4l2/pv-v4l2-source.c b/src/modules/v4l2/pv-v4l2-source.c index 31fd4e38e..c2ac02142 100644 --- a/src/modules/v4l2/pv-v4l2-source.c +++ b/src/modules/v4l2/pv-v4l2-source.c @@ -51,7 +51,7 @@ bus_handler (GstBus * bus, GstMessage * message, gpointer user_data) gchar *debug; gst_message_parse_error (message, &error, &debug); - g_print ("got error %s (%s)\n", error->message, debug); + g_warning ("got error %s (%s)\n", error->message, debug); g_free (debug); pv_source_report_error (source, error); @@ -171,8 +171,6 @@ on_socket_notify (GObject *gobject, g_object_get (gobject, "socket", &socket, NULL); - g_print ("source socket %p\n", socket); - if (socket == NULL) { GSocket *prev_socket = g_object_get_data (gobject, "last-socket"); if (prev_socket) { @@ -184,7 +182,6 @@ on_socket_notify (GObject *gobject, g_object_set_data (gobject, "last-socket", socket); g_object_get (priv->sink, "num-handles", &num_handles, NULL); - g_print ("num handles %d\n", num_handles); if (num_handles == 0) { gst_element_set_state (priv->pipeline, GST_STATE_READY); g_object_set (priv->filter, "caps", NULL, NULL); @@ -214,7 +211,6 @@ on_socket_notify (GObject *gobject, gst_caps_unref (caps); } /* this is what we use as the final format for the output */ - g_print ("final format %s\n", (gchar *) g_bytes_get_data (format, NULL)); g_object_set (gobject, "format", format, NULL); g_bytes_unref (format); @@ -234,7 +230,6 @@ v4l2_create_source_output (PvSource *source, gchar *str; str = (gchar *) g_bytes_get_data (format_filter, NULL); - g_print ("input filter %s\n", str); caps = gst_caps_from_string (str); if (caps == NULL) goto invalid_caps; @@ -244,7 +239,6 @@ v4l2_create_source_output (PvSource *source, goto no_format; str = gst_caps_to_string (filtered); - g_print ("output filter %s\n", str); format_filter = g_bytes_new_take (str, strlen (str) + 1); output = PV_SOURCE_CLASS (pv_v4l2_source_parent_class) diff --git a/src/server/pv-daemon.c b/src/server/pv-daemon.c index 12bd9b20b..5d6ee23a4 100644 --- a/src/server/pv-daemon.c +++ b/src/server/pv-daemon.c @@ -62,8 +62,6 @@ on_server_subscription_event (PvSubscribe *subscribe, name = g_dbus_proxy_get_name (object); object_path = g_dbus_proxy_get_object_path (object); - g_print ("got event %d %d %s:%s\n", event, flags, name, object_path); - switch (flags) { default: break; @@ -82,8 +80,6 @@ client_name_appeared_handler (GDBusConnection *connection, if (!g_strcmp0 (name, g_dbus_connection_get_unique_name (connection))) return; - - g_print ("appeared client %s %p\n", name, data); } static void @@ -93,16 +89,12 @@ client_name_vanished_handler (GDBusConnection *connection, { SenderData *data = user_data; - g_print ("vanished client %s %p\n", name, data); - g_bus_unwatch_name (data->id); } static void data_free (SenderData *data) { - g_print ("free client %s %p\n", data->sender, data); - g_list_free_full (data->objects, g_object_unref); g_hash_table_remove (data->daemon->priv->senders, data->sender); g_free (data->sender); @@ -119,8 +111,6 @@ sender_data_new (PvDaemon *daemon, const gchar *sender) data->daemon = daemon; data->sender = g_strdup (sender); - g_print ("watch name %s %p\n", sender, data); - data->id = g_bus_watch_name_on_connection (priv->connection, sender, G_BUS_NAME_WATCHER_FLAGS_NONE, @@ -146,7 +136,6 @@ handle_connect_client (PvDaemon1 *interface, sender = g_dbus_method_invocation_get_sender (invocation); - g_print ("connect client %s\n", sender); client = pv_client_new (daemon, sender, PV_DBUS_OBJECT_PREFIX, arg_properties); pv_daemon_track_object (daemon, sender, G_OBJECT (client)); diff --git a/src/tests/test-subscribe.c b/src/tests/test-subscribe.c index 4691e882e..43e7ef8ce 100644 --- a/src/tests/test-subscribe.c +++ b/src/tests/test-subscribe.c @@ -33,16 +33,14 @@ static void subscription_cb (PvContext *context, PvSubscriptionEvent type, PvSubscriptionFlags flags, GDBusProxy *object, gpointer user_data) { - g_print ("got event %d %d %s:%s\n", type, flags, - g_dbus_proxy_get_name (object), - g_dbus_proxy_get_object_path (object)); - switch (type) { case PV_SUBSCRIPTION_EVENT_NEW: + g_print ("object added %s\n", g_dbus_proxy_get_object_path (object)); dump_object (object); break; case PV_SUBSCRIPTION_EVENT_CHANGE: + g_print ("object changed %s\n", g_dbus_proxy_get_object_path (object)); dump_object (object); break; @@ -58,21 +56,17 @@ on_state_notify (GObject *gobject, gpointer user_data) { PvContextState state; - PvContext *c = user_data; g_object_get (gobject, "state", &state, NULL); - g_print ("got state %d\n", state); + g_print ("got context state %d\n", state); switch (state) { case PV_CONTEXT_STATE_ERROR: g_main_loop_quit (loop); break; + case PV_CONTEXT_STATE_READY: - { - g_object_set (c, "subscription-mask", PV_SUBSCRIPTION_FLAGS_ALL, NULL); - g_signal_connect (c, "subscription-event", (GCallback) subscription_cb, NULL); break; - } default: break; @@ -90,6 +84,8 @@ main (gint argc, gchar *argv[]) c = pv_context_new (NULL, "test-client", NULL); g_signal_connect (c, "notify::state", (GCallback) on_state_notify, c); + g_object_set (c, "subscription-mask", PV_SUBSCRIPTION_FLAGS_ALL, NULL); + g_signal_connect (c, "subscription-event", (GCallback) subscription_cb, NULL); pv_context_connect(c, PV_CONTEXT_FLAGS_NOFAIL); g_main_loop_run (loop);