Kooha icon indicating copy to clipboard operation
Kooha copied to clipboard

Part of the recordings is black & white squares

Open romgrk opened this issue 1 year ago • 1 comments

System Info

- io.github.seadve.Kooha 2.2.3
- Flatpak: false
- Experimental: false

- Distribution: Arch Linux
- Desktop Session: gnome
- Display Server: wayland

- GTK 4.10.1
- Libadwaita 1.3.1
- GStreamer 1.22.1
- Pipewire 0.3.67

Describe the bug When I record a screencast, part of the recorded video is the black & white squares pattern shown in the screenshot. Which part of the video has that pattern goes from 10-90%, depending on the recording, and doesn't always fall in a precise place. It's usually not at the start nor the end of the video.

To Reproduce Steps to reproduce the behavior:

  1. Record a screencast with options: capture window, desktop-audio yes, microphone no, mouse no. Video format tried: webm & avi
  2. After the recording has ended, the output video show the pattern when viewed in a video player (tried VLC and gnome player)

Expected behavior No pattern

Screenshots If applicable, add screenshots to help explain your problem. image

Additional context I didn't have the stuff below running with the recording, but I can create one with this enabled if you think it would be useful.

If applicable, please attach the logs from running Kooha in the
terminal with the following environment variables: `RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3`
(e.g., `RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 flatpak run io.github.seadve.Kooha`).

romgrk avatar Mar 26 '23 22:03 romgrk

It was working fine for me before, but suddenly I seem to only ever get the checkerboard, even in the area selection window Select Area window showing checkerboard

System info
- io.github.seadve.Kooha 2.2.3
- Flatpak: true
- Experimental: false

- Distribution: GNOME 43 (Flatpak runtime)
- Desktop Session: default
- Display Server: wayland

- GTK 4.8.3
- Libadwaita 1.2.4
- GStreamer 1.20.6
- Pipewire 0.3.69

I'm on openSUSE Tumbleweed

Debug log of me opening the area selection window
2023-04-27T20:27:21.661376Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
2023-04-27T20:27:21.661398Z  INFO kooha::application: Version: 2.2.3 ()
2023-04-27T20:27:21.661409Z  INFO kooha::application: Datadir: /app/share/kooha
2023-04-27T20:27:27.331814Z DEBUG kooha::screencast_session: Waiting request response for method `CreateSession`
2023-04-27T20:27:27.332682Z DEBUG kooha::screencast_session: Request response received for method `CreateSession`
2023-04-27T20:27:27.332735Z DEBUG kooha::screencast_session: Created screencast session response=Variant { ptr: 0x565018d91dc0, type: VariantTy { inner: "a{sv}" }, value: "{'session_handle': <'/org/freedesktop/portal/desktop/session/1_128/kooha_0'>}" }
2023-04-27T20:27:27.332789Z DEBUG kooha::recording: ScreenCast portal version: Ok(4)
2023-04-27T20:27:27.332803Z DEBUG kooha::recording: Available cursor modes: Ok(HIDDEN | EMBEDDED | METADATA)
2023-04-27T20:27:27.332817Z DEBUG kooha::recording: Available source types: Ok(MONITOR | WINDOW | VIRTUAL)
2023-04-27T20:27:27.335536Z DEBUG kooha::screencast_session: Waiting request response for method `SelectSources`
2023-04-27T20:27:27.336251Z DEBUG kooha::screencast_session: Request response received for method `SelectSources`
2023-04-27T20:27:27.336284Z DEBUG kooha::screencast_session: Selected sources response=Variant { ptr: 0x565018d47940, type: VariantTy { inner: "a{sv}" }, value: "@a{sv} {}" }
2023-04-27T20:27:27.338905Z DEBUG kooha::screencast_session: Waiting request response for method `Start`
2023-04-27T20:27:32.770952Z DEBUG kooha::screencast_session: Request response received for method `Start`
2023-04-27T20:27:32.771055Z DEBUG kooha::screencast_session: Started screencast session response=Variant { ptr: 0x565018d35c80, type: VariantTy { inner: "a{sv}" }, value: "{'streams': <[(uint32 55, {'id': <'0'>, 'source_type': <uint32 1>, 'position': <(1920, 0)>, 'size': <(1920, 1080)>})]>}" }
2023-04-27T20:27:32.774826Z DEBUG kooha::screencast_session: Opened pipe wire remote response=(handle 0,) fd_list=[10]
2023-04-27T20:27:32.787273Z DEBUG kooha::pipeline: pipewiresrc needs copy: false
[I][00216.704660] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.69
[I][00216.708400] pw.conf      | [          conf.c:  403 conf_load()] 0x565018f1dd50: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][00216.708461] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][00216.708486] pw.context   | [       context.c:  241 pw_context_new()] 0x565018f1d720: parsed 1 context.properties items
[I][00216.709091] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][00216.709149] pw.context   | [       context.c:  342 pw_context_new()] 0x565018f1d720: parsed 2 context.spa-libs items
[I][00216.709178] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][00216.709197] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-protocol-native args:(null)
[I][00216.709633] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-protocol-native
[I][00216.709663] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-client-node args:(null)
[I][00216.710316] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-client-node
[I][00216.710585] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-client-device args:(null)
[I][00216.710981] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-client-device
[I][00216.711012] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-adapter args:(null)
[I][00216.711354] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-adapter
[I][00216.711383] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-metadata args:(null)
[I][00216.711692] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-metadata
[I][00216.711724] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x565018f1d720: name:libpipewire-module-session-manager args:(null)
[I][00216.712048] pw.conf      | [          conf.c:  582 load_module()] 0x565018f1d720: loaded module libpipewire-module-session-manager
[I][00216.712069] pw.context   | [       context.c:  346 pw_context_new()] 0x565018f1d720: parsed 6 context.modules items
[I][00216.712083] pw.context   | [       context.c:  351 pw_context_new()] 0x565018f1d720: parsed 0 context.objects items
[I][00216.712106] pw.context   | [       context.c:  354 pw_context_new()] 0x565018f1d720: parsed 0 context.exec items
[W][00216.712159] default      | [        thread.c:  101 impl_acquire_rt()] acquire_rt thread:0x7fb7caffd640 prio:-1 not implemented
[I][00216.712193] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:log.level type: value:0
[I][00216.712215] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.rate type: value:48000
[I][00216.712234] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][00216.712253] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.quantum type: value:1024
[I][00216.712271] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.min-quantum type: value:32
[I][00216.712293] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.max-quantum type: value:2048
[I][00216.712311] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.force-quantum type: value:0
[I][00216.712328] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x565018f2ba60: add id:0 key:clock.force-rate type: value:0
[I][00216.712528] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
0:00:11.148020126     2 0x7fb8080bc640 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<pipewiresrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
[I][00216.744268] pw.stream    | [        stream.c:  603 impl_send_command()] 0x565018f69fc0: command Spa:Pod:Object:Command:Node:Start
[I][00216.744564] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) creating -> running
2023-04-27T20:27:32.852734Z DEBUG kooha::area_selector: Pipeline changed state from `Null` -> `Ready`
2023-04-27T20:27:32.852914Z DEBUG kooha::area_selector: Pipeline changed state from `Ready` -> `Paused`
0:00:11.213579807     2 0x7fb8080c0980 FIXME               basesink gstbasesink.c:3395:gst_base_sink_default_event:<gtk4paintablesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:11.214383509     2 0x7fb8080b8b60 ERROR              videometa gstvideometa.c:242:default_map: plane 0, no memory at offset 0
0:00:11.214405368     2 0x7fb8080b8b60 ERROR                default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 0
0:00:11.214418137     2 0x7fb8080b8b60 WARN         videoaggregator gstvideoaggregator.c:829:gst_video_aggregator_parallel_convert_pad_prepare_frame_start:<compositor0> Could not map input buffer
0:00:11.235999470     2 0x7fb8080b8b60 ERROR              videometa gstvideometa.c:242:default_map: plane 0, no memory at offset 0
0:00:11.236024889     2 0x7fb8080b8b60 ERROR                default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 0
0:00:11.236042297     2 0x7fb8080b8b60 WARN         videoaggregator gstvideoaggregator.c:829:gst_video_aggregator_parallel_convert_pad_prepare_frame_start:<compositor0> Could not map input buffer
2023-04-27T20:27:32.888466Z DEBUG kooha::area_selector: Pipeline changed state from `Paused` -> `Playing`
0:00:11.250648161     2 0x7fb8080b8b60 ERROR              videometa gstvideometa.c:242:default_map: plane 0, no memory at offset 0
0:00:11.250675196     2 0x7fb8080b8b60 ERROR                default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 0
0:00:11.250690167     2 0x7fb8080b8b60 WARN         videoaggregator gstvideoaggregator.c:829:gst_video_aggregator_parallel_convert_pad_prepare_frame_start:<compositor0> Could not map input buffer
0:00:11.278111812     2 0x7fb8080b8b60 ERROR              videometa gstvideometa.c:242:default_map: plane 0, no memory at offset 0
0:00:11.278142556     2 0x7fb8080b8b60 ERROR                default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 0
0:00:11.278164003     2 0x7fb8080b8b60 WARN         videoaggregator gstvideoaggregator.c:829:gst_video_aggregator_parallel_convert_pad_prepare_frame_start:<compositor0> Could not map input buffer
0:00:11.306576192     2 0x7fb8080b8b60 ERROR              videometa gstvideometa.c:242:default_map: plane 0, no memory at offset 0
0:00:11.306597762     2 0x7fb8080b8b60 ERROR                default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 0
0:00:11.306612875     2 0x7fb8080b8b60 WARN         videoaggregator gstvideoaggregator.c:829:gst_video_aggregator_parallel_convert_pad_prepare_frame_start:<compositor0> Could not map input buffer
[I][00217.530705] pw.stream    | [        stream.c:  603 impl_send_command()] 0x565018f69fc0: command Spa:Pod:Object:Command:Node:Pause
[I][00217.531226] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) running -> idle
[I][00217.532191] pw.stream    | [        stream.c:  603 impl_send_command()] 0x565018f69fc0: command Spa:Pod:Object:Command:Node:Suspend
[I][00217.532464] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) idle -> suspended
[I][00217.532677] pw.node      | [     impl-node.c: 1904 pw_impl_node_destroy()] (kooha-0) destroy
2023-04-27T20:27:33.623879Z DEBUG kooha::window: Cancelled area select
2023-04-27T20:27:33.636921Z DEBUG kooha::screencast_session: Closed screencast session response=()

zamsyt avatar Apr 27 '23 20:04 zamsyt

Thanks for reporting. This seems to be fixed by https://github.com/SeaDve/Kooha/pull/235. Feel free to reopen if it is still reproducible. Thanks again!

SeaDve avatar Feb 08 '24 13:02 SeaDve