Package: kazam Version: 1.4.5-2 Severity: important Dear Maintainer,
Kazam used to work without any issues until yesterday. I found out that after a system update, I ceased to be able to record anything with it if I wanted to include sound (it worked for video-only recording). When I click "Capture", seemingly nothing happened. I starting Kazam in a terminal and saw the log that you can find in the attachment. Following the last line in the stack trace, it seems to fail because the following function returned None: self.audioenc = Gst.ElementFactory.make("lamemp3enc", "audio_encoder") So, after some research, I found that gstreamer1.0-plugins-ugly no longer includes the lame MP3 encoder, and that it is now included in gstreamer1.0-plugins-good starting from version 1.13: + Build-depend on LAME, mpg123 and twolame and add Conflicts/Replaces as needed for gst-plugins-ugly from where the plugins moved.» http://metadata.ftp-master.debian.org/changelogs/main/g/gst-plugins- good1.0/gst-plugins-good1.0_1.14.0-1_changelog I had gstreamer1.0-plugins-ugly version 1.14 installed, but gstreamer1.0-plugins-good version 1.12. So I ended up not having any lame encoding plugin at that point. So, to avoid this, I suggest that kazam declares a dependency on gstreamer1.0-plugins-good >= 1.14 (I didn't test with 1.13, so I can't tell for sure if it'd be OK to depend on that instead). Moreover, two additional notes: * If this voids the need to depend on gstreamer1.0-plugins-ugly, that dependency can also be removed now. * This was a somewhat hard to debug situation, and what was happening was not obvious at all. Kazam should inform the user if a dependency is missing. Something was obviously wrong as nothing happened when I clicked "Capture", but this would be very hard to fix by someone unwilling to delve into stack traces, code and package changelogs. Thanks and best regards, Luís Picciochi Oliveira -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.15.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages kazam depends on: ii gir1.2-gst-plugins-base-1.0 1.14.0-1 ii gir1.2-gstreamer-1.0 1.14.0-1 ii gir1.2-keybinder-3.0 0.3.2-1 ii gir1.2-wnck-3.0 3.24.1-2 ii gnome-session-canberra 0.30-6 ii gstreamer1.0-plugins-base 1.14.0-1 ii gstreamer1.0-plugins-good 1.14.0-1 ii gstreamer1.0-plugins-ugly 1.14.0-1 ii gstreamer1.0-pulseaudio 1.12.4-1+b1 ii python3 3.6.4-1 ii python3-cairo 1.16.2-1 ii python3-dbus 1.2.6-1 ii python3-gi 3.28.1-1 ii python3-gi-cairo 3.28.1-1 ii python3-xdg 0.25-4 Versions of packages kazam recommends: pn gstreamer1.0-libav <none> kazam suggests no packages. -- no debconf information
$ kazam /usr/bin/kazam:32: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Gtk /usr/lib/python3/dist-packages/kazam/frontend/window_area.py:30: PyGIWarning: Wnck was imported without specifying a version first. Use gi.require_version('Wnck', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Gtk, GObject, Gdk, Wnck, GdkX11 /usr/lib/python3/dist-packages/kazam/backend/gstreamer.py:35: PyGIWarning: Gst was imported without specifying a version first. Use gi.require_version('Gst', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GObject, Gst /usr/lib/python3/dist-packages/kazam/frontend/indicator.py:148: PyGIWarning: AppIndicator3 was imported without specifying a version first. Use gi.require_version('AppIndicator3', '0.1') before import to ensure that the right version gets loaded. from gi.repository import AppIndicator3 /usr/lib/python3/dist-packages/kazam/frontend/indicator.py:97: PyGIWarning: Keybinder was imported without specifying a version first. Use gi.require_version('Keybinder', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Keybinder /usr/lib/python3/dist-packages/kazam/app.py:145: Warning: value "((GtkIconSize) 32)" of type 'GtkIconSize' is invalid or out of range for property 'icon-size' of type 'GtkIconSize' self.builder.add_from_file(os.path.join(prefs.datadir, "ui", "kazam.ui")) (kazam:23365): Gtk-WARNING **: 14:16:34.218: Theme file for default has no name (kazam:23365): Gtk-WARNING **: 14:16:34.218: Theme file for default has no directories (kazam:23365): Gtk-WARNING **: 14:16:34.238: Can't set a parent on widget which has a parent (kazam:23365): Gtk-WARNING **: 14:16:34.244: Can't set a parent on widget which has a parent (kazam:23365): Gdk-CRITICAL **: 14:16:35.682: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed Traceback (most recent call last): File "/usr/lib/python3/dist-packages/kazam/app.py", line 553, in cb_record_clicked self.run_counter() File "/usr/lib/python3/dist-packages/kazam/app.py", line 790, in run_counter prefs.xid if self.record_mode == MODE_WIN else None) File "/usr/lib/python3/dist-packages/kazam/backend/gstreamer.py", line 95, in setup_sources self.setup_audio_sources() File "/usr/lib/python3/dist-packages/kazam/backend/gstreamer.py", line 231, in setup_audio_sources self.audioenc.set_property("quality", 0) AttributeError: 'NoneType' object has no attribute 'set_property' INFO Main - Unable to delete one of the temporary files. Check your temporary directory.