Patch day

Thursday, October 19, 2017

Time to send some patches out.

git-publish broken

Apparently, git-publish no longer works on my machine:

> git publish --to spice-devel@lists.freedesktop.org
env: python2: No such file or directory

The fix is:

ln -s /usr/bin/python2.7 /usr/local/bin/python2

gst_deinint in atexit

In order to run things like the GStreamer leak tools, you need to run gst_deinit when quitting the program. This is an easy fix.

Without it:

spice-gtk> GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks" spicy -h turbo -p 5900

(process:53020): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. 0:00:00.019431000 53020 0x7f8b24c4ff90 DEBUG GST_TRACER gsttracer.c:164:gboolean gst_tracer_register(GstPlugin *, const gchar *, GType): update existing feature 0x7f8b260349b0 (latency) 0:00:00.019484000 53020 0x7f8b24c4ff90 DEBUG GST_TRACER gsttracer.c:164:gboolean gst_tracer_register(GstPlugin *, const gchar *, GType): update existing feature 0x7f8b26034a70 (log) [...] ** Message: main channel: opened

(spicy:53020): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(spicy:53020): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(spicy:53020): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(spicy:53020): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed ddd@ptitpuce[atexit] spice-gtk> make

Note that there is nothing at the time I quit spicy.

With the fix:

spice-gtk> GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks" SPICE_TRACES='mm_time=mm_time read_stats=read_bytes,total,loops_per_second,duration gst_schedule_frame_time=delay,frame_time,now,queue_length frame_types=advanced_frames,late_frames,dropped_frames' spicy -h turbo -p 5900

(process:63162): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. 0:00:00.017967000 63162 0x7ff625c3eb90 DEBUG GST_TRACER gsttracer.c:164:gboolean gst_tracer_register(GstPlugin *, const gchar *, GType): update existing feature 0x7ff6288261b0 (latency) 0:00:00.018020000 63162 0x7ff625c3eb90 DEBUG GST_TRACER gsttracer.c:164:gboolean gst_tracer_register(GstPlugin *, const gchar *, GType): update existing feature 0x7ff628826270 (log) [...] ** Message: main channel: opened

(spicy:63162): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(spicy:63162): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(spicy:63162): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(spicy:63162): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed 0:00:02.707602000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstAppSink, address=(gpointer)0x7ff626073b90, description=(string), ref-count=(uint)2, trace=(string); 0:00:02.707625000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstAppSrc, address=(gpointer)0x7ff6260233c0, description=(string), ref-count=(uint)10, trace=(string); 0:00:02.707633000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstAudioClock, address=(gpointer)0x7ff62684e0e0, description=(string), ref-count=(uint)1, trace=(string); 0:00:02.707639000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstAudioClock, address=(gpointer)0x7ff62684e2b0, description=(string), ref-count=(uint)8, trace=(string); 0:00:02.707692000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstAudioConvert, address=(gpointer)0x7ff6260760d0, description=(string), ref-count=(uint)1, trace=(string); [...] 0:00:02.710704000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstTask, address=(gpointer)0x7ff626074170, description=(string), ref-count=(uint)3, trace=(string); 0:00:02.710709000 63162 0x7ff625c3eb90 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstVtdecHw, address=(gpointer)0x7ff626010ba0, description=(string), ref-count=(uint)1, trace=(string);

** (spicy:63162): WARNING **: Leaks detected

Streaming agent

Submitted a merge request for a few improvements to the streaming agent.