SeaDve / Kooha

Elegantly record your screen
GNU General Public License v3.0
2.62k stars 70 forks source link

Kooha records audio in mono for some reason #247

Closed kamkamkamkamkamkamkamkam closed 8 months ago

kamkamkamkamkamkamkamkam commented 1 year ago

System Info Arch Linux Kooha (Flatpak) -->

Describe the bug Kooha records audio in mono

To Reproduce Steps to reproduce the behavior:

  1. Play audio on system
  2. Begin screen recording in Kooha
  3. Playback recording to hear mono sound

Expected behavior Playback recording to hear stereo sound

Screenshots Kooha bug demonstration https://cdn.discordapp.com/attachments/686210128340713686/1128450984956407838/Kooha-2023-07-11-18-17-48.mp4 OBS comparison https://cdn.discordapp.com/attachments/686210128340713686/1128450985820442666/2023-07-11_18-19-03.mp4

Additional context

[kam@kamalamalamalam ~]$ RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 flatpak run io.github.seadve.Kooha
2023-07-11T22:23:19.108325Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
2023-07-11T22:23:19.108388Z  INFO kooha::application: Version: 2.2.3 ()
2023-07-11T22:23:19.108391Z  INFO kooha::application: Datadir: /app/share/kooha
2023-07-11T22:23:21.870923Z DEBUG kooha::screencast_session: Waiting request response for method `CreateSession`
2023-07-11T22:23:21.871562Z DEBUG kooha::screencast_session: Request response received for method `CreateSession`
2023-07-11T22:23:21.871588Z DEBUG kooha::screencast_session: Created screencast session response=Variant { ptr: 0x7f385c002a80, type: VariantTy { inner: "a{sv}" }, value: "{'session_handle': <'/org/freedesktop/portal/desktop/session/1_357/kooha_0'>}" }
2023-07-11T22:23:21.871617Z DEBUG kooha::recording: ScreenCast portal version: Ok(4)
2023-07-11T22:23:21.871625Z DEBUG kooha::recording: Available cursor modes: Ok(HIDDEN | EMBEDDED | METADATA)
2023-07-11T22:23:21.871633Z DEBUG kooha::recording: Available source types: Ok(MONITOR | WINDOW | VIRTUAL)
2023-07-11T22:23:21.878573Z DEBUG kooha::screencast_session: Waiting request response for method `SelectSources`
2023-07-11T22:23:21.879271Z DEBUG kooha::screencast_session: Request response received for method `SelectSources`
2023-07-11T22:23:21.879292Z DEBUG kooha::screencast_session: Selected sources response=Variant { ptr: 0x563adc54bb00, type: VariantTy { inner: "a{sv}" }, value: "@a{sv} {}" }
2023-07-11T22:23:21.881274Z DEBUG kooha::screencast_session: Waiting request response for method `Start`
2023-07-11T22:23:21.897899Z DEBUG kooha::screencast_session: Request response received for method `Start`
2023-07-11T22:23:21.897953Z DEBUG kooha::screencast_session: Started screencast session response=Variant { ptr: 0x7f3878035080, type: VariantTy { inner: "a{sv}" }, value: "{'restore_token': <'f43bafee-3144-40b7-bb11-189fbafe637b'>, 'streams': <[(uint32 106, {'id': <'0'>, 'source_type': <uint32 1>, 'position': <(0, 0)>, 'size': <(1920, 1080)>})]>}" }
2023-07-11T22:23:21.901894Z DEBUG kooha::screencast_session: Opened pipe wire remote response=(handle 0,) fd_list=[10]
[I][02671.764071] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.69
[I][02671.766524] pw.conf      | [          conf.c:  403 conf_load()] 0x7f385c021f00: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][02671.766557] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][02671.766572] pw.context   | [       context.c:  241 pw_context_new()] 0x7f385c0214c0: parsed 1 context.properties items
[I][02671.767191] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][02671.767221] pw.context   | [       context.c:  342 pw_context_new()] 0x7f385c0214c0: parsed 2 context.spa-libs items
[I][02671.767231] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][02671.767250] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-protocol-native args:(null)
[I][02671.768843] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-protocol-native
[I][02671.768861] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-client-node args:(null)
[I][02671.771421] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-client-node
[I][02671.771446] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-client-device args:(null)
[I][02671.772058] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-client-device
[I][02671.772079] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-adapter args:(null)
[I][02671.773049] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-adapter
[I][02671.773077] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-metadata args:(null)
[I][02671.773844] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-metadata
[I][02671.773925] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x7f385c0214c0: name:libpipewire-module-session-manager args:(null)
[I][02671.775728] pw.conf      | [          conf.c:  582 load_module()] 0x7f385c0214c0: loaded module libpipewire-module-session-manager
[I][02671.775779] pw.context   | [       context.c:  346 pw_context_new()] 0x7f385c0214c0: parsed 6 context.modules items
[I][02671.775795] pw.context   | [       context.c:  351 pw_context_new()] 0x7f385c0214c0: parsed 0 context.objects items
[I][02671.775810] pw.context   | [       context.c:  354 pw_context_new()] 0x7f385c0214c0: parsed 0 context.exec items
[W][02671.775922] default      | [        thread.c:  101 impl_acquire_rt()] acquire_rt thread:0x7f38621ff640 prio:-1 not implemented
[I][02671.775962] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:log.level type: value:0
[I][02671.775983] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.rate type: value:48000
[I][02671.776000] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][02671.776016] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.quantum type: value:1024
[I][02671.776032] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.min-quantum type: value:32
[I][02671.776048] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.max-quantum type: value:2048
[I][02671.776063] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.force-quantum type: value:0
[I][02671.776079] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x7f385c02ff50: add id:0 key:clock.force-rate type: value:0
[I][02671.776218] mod.protocol-native | [  local-socket.c:   70 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/user/1000
[I][02671.776263] mod.protocol-native | [  local-socket.c:   70 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/pipewire
0:00:02.821586412     2 0x7f387c0e6cc0 ERROR                default gstpipewirecore.c:91:make_core: (null)
0:00:02.822118176     2 0x7f387c0e6cc0 WARN                 default gstpipewirecore.c:134:gst_pipewire_core_get: could not create core
0:00:02.822151997     2 0x7f387c0e6cc0 ERROR               pipewire gstpipewiredeviceprovider.c:625:gst_pipewire_device_provider_start:<pipewiredeviceprovider0> Failed to connect
0:00:02.831937091     2 0x7f387c0e6cc0 WARN                    alsa pcm_hw.c:1722:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC0D0c' failed (-16): Device or resource busy
0:00:02.831964516     2 0x7f387c0e6cc0 ERROR                   alsa gstalsadeviceprovider.c:57:add_device:<alsadeviceprovider0> Could not open device hw:0,0 for inspection!
0:00:02.894693387     2 0x7f387c0e6cc0 WARN                    alsa pcm_hw.c:1722:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy
0:00:02.894715308     2 0x7f387c0e6cc0 ERROR                   alsa gstalsadeviceprovider.c:57:add_device:<alsadeviceprovider0> Could not open device hw:0,0 for inspection!
0:00:02.894874178     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5545:parse_args: alsalib error: Parameter DEV must be an integer
0:00:02.894884649     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5687:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
0:00:02.894890564     2 0x7f387c0e6cc0 WARN                    alsa pcm.c:2664:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:1,0:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:02.901424421     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5545:parse_args: alsalib error: Parameter DEV must be an integer
0:00:02.901444479     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5687:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
0:00:02.901455274     2 0x7f387c0e6cc0 WARN                    alsa pcm.c:2664:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:1,3:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:02.901872964     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5545:parse_args: alsalib error: Parameter DEV must be an integer
0:00:02.901890231     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5687:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
0:00:02.901901550     2 0x7f387c0e6cc0 WARN                    alsa pcm.c:2664:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:1,7:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:02.902238484     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5545:parse_args: alsalib error: Parameter DEV must be an integer
0:00:02.902254359     2 0x7f387c0e6cc0 WARN                    alsa conf.c:5687:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
0:00:02.902264129     2 0x7f387c0e6cc0 WARN                    alsa pcm.c:2664:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:1,8:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
2023-07-11T22:23:22.001391Z DEBUG kooha::audio_device: Finding device name for class `Sink`
2023-07-11T22:23:22.003423Z DEBUG kooha::pipeline: file_path=/home/kam/Videos/recordings/Kooha-2023-07-11-18-23-22.mp4 framerate=60 profile=Mp4Profile stream_len=1 streams=[Stream { node_id: 106, id: Some("0"), position: Some((0, 0)), size: Some((1920, 1080)), source_type: Some(MONITOR) }] speaker_source=Some("alsa_output.usb-Focusrite_Scarlett_Solo_USB-00.analog-stereo.monitor") mic_source=None select_area_data=None
2023-07-11T22:23:22.005120Z DEBUG kooha::pipeline: pipewiresrc needs copy: false
2023-07-11T22:23:22.014005Z DEBUG kooha::profile: encodebin_elements=["audioconvert", "audioresample", "audioconvert", "audiorate", "ANY", "lamemp3enc", "queue", "streamsplitter1", "streamcombiner1", "mpegaudioparse", "audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]", "queue", "videorate", "videoconvert", "videoscale", "videoconvert", "ANY", "x264enc", "queue", "streamsplitter0", "streamcombiner0", "h264parse", "video/x-h264, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], stream-format=(string){ avc, byte-stream }, alignment=(string)au, profile=(string)baseline", "queue", "mp4mux"]
[I][02671.870920] pw.conf      | [          conf.c:  403 conf_load()] 0x563adc641f70: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][02671.870968] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][02671.870991] pw.context   | [       context.c:  241 pw_context_new()] 0x563adc648e30: parsed 1 context.properties items
[I][02671.871316] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][02671.871346] pw.context   | [       context.c:  342 pw_context_new()] 0x563adc648e30: parsed 2 context.spa-libs items
[I][02671.871356] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][02671.871377] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-protocol-native args:(null)
[I][02671.871727] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-protocol-native
[I][02671.871747] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-client-node args:(null)
[I][02671.872085] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-client-node
[I][02671.872107] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-client-device args:(null)
[I][02671.872285] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-client-device
[I][02671.872304] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-adapter args:(null)
[I][02671.872509] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-adapter
[I][02671.872536] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-metadata args:(null)
[I][02671.872722] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-metadata
[I][02671.872742] pw.module    | [   impl-module.c:  162 pw_context_load_module()] 0x563adc648e30: name:libpipewire-module-session-manager args:(null)
[I][02671.872973] pw.conf      | [          conf.c:  582 load_module()] 0x563adc648e30: loaded module libpipewire-module-session-manager
[I][02671.872988] pw.context   | [       context.c:  346 pw_context_new()] 0x563adc648e30: parsed 6 context.modules items
[I][02671.872998] pw.context   | [       context.c:  351 pw_context_new()] 0x563adc648e30: parsed 0 context.objects items
[I][02671.873007] pw.context   | [       context.c:  354 pw_context_new()] 0x563adc648e30: parsed 0 context.exec items
[W][02671.873064] default      | [        thread.c:  101 impl_acquire_rt()] acquire_rt thread:0x7f3886ffd640 prio:-1 not implemented
[I][02671.873088] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:log.level type: value:0
[I][02671.873106] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.rate type: value:48000
[I][02671.873120] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][02671.873135] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.quantum type: value:1024
[I][02671.873149] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.min-quantum type: value:32
[I][02671.873168] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.max-quantum type: value:2048
[I][02671.873184] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.force-quantum type: value:0
[I][02671.873200] pw.metadata  | [ impl-metadata.c:  185 impl_set_property()] 0x563adc660800: add id:0 key:clock.force-rate type: value:0
[I][02671.873367] pw.conf      | [          conf.c:  950 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
0:00:02.924250901     2 0x7f387c0e6de0 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:02.924378112     2 0x7f387c0e6de0 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<muxer> Latency query failed
0:00:02.925124752     2 0x7f387c0da180 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][02671.911670] pw.stream    | [        stream.c:  603 impl_send_command()] 0x563adc67ec10: command Spa:Pod:Object:Command:Node:Start
[I][02671.911821] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) creating -> running
0:00:02.958390979     2 0x7f387c0d9f60 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:02.958552956     2 0x7f387c0d9ea0 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<pulsesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:02.958652894     2 0x7f387c0d9f60 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:02.958820509     2 0x7f387c0e6de0 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:02.958850477     2 0x7f387c0e6de0 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<muxer> Latency query failed
0:00:02.958985612     2 0x7f387c0d9f60 WARN              aggregator gstaggregator.c:2104:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
2023-07-11T22:23:22.057815Z DEBUG kooha::recording: Pipeline changed state from `Null` -> `Ready`
2023-07-11T22:23:22.058400Z DEBUG kooha::recording: Pipeline changed state from `Ready` -> `Paused`
0:00:02.964502557     2 0x7f387c0da120 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.964749904     2 0x7f387c0da120 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.964964326     2 0x7f387c0da0c0 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.965047332     2 0x7f387c0da0c0 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.965114708     2 0x7f387c0da0c0 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.965205099     2 0x7f387c0da300 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<h264parse0:sink> caps: video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)BGRx, colorimetry=(string)sRGB were not compatible with: video/x-h264
0:00:02.982386210     2 0x7f387c0d9f60 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, rate=(int)48000, format=(string)S16LE, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.982559468     2 0x7f387c0d9f60 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.982763750     2 0x7f387c0d9f00 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.982928486     2 0x7f387c0d9f00 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.983025409     2 0x7f387c0d9f00 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.983137901     2 0x7f387c0da360 WARN                GST_CAPS gstpad.c:3235:gst_pad_query_accept_caps_default:<mpegaudioparse0:sink> caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1, layout=(string)interleaved were not compatible with: audio/mpeg, mpegversion=(int)1
0:00:02.987029272     2 0x7f387c0da360 WARN         audio-resampler audio-resampler.c:274:convert_taps_gint16_c: can't find exact taps
0:00:02.988756612     2 0x7f387c0d9ea0 WARN         audio-resampler audio-resampler.c:274:convert_taps_gint16_c: can't find exact taps
0:00:03.261924920     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 0, -2153648 bits)
0:00:03.286080247     2 0x7f387c0b5760 FIXME               basesink gstbasesink.c:3395:gst_base_sink_default_event:<filesink> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:03.286159642     2 0x7f387c0e6de0 FIXME             aggregator gstaggregator.c:1412:gst_aggregator_aggregate_func:<muxer> Subclass should call gst_aggregator_selected_samples() from its aggregate implementation.
2023-07-11T22:23:22.392037Z DEBUG kooha::recording: Pipeline changed state from `Paused` -> `Playing`
0:00:03.375892122     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 5, -2150133 bits)
0:00:03.402094342     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 7, -495381 bits)
0:00:03.594721005     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 21, -181469 bits)
0:00:03.616749986     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 23, -409765 bits)
0:00:03.699970456     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 30, -276123 bits)
0:00:03.712828344     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 31, -357315 bits)
0:00:04.115548048     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 58, -36072 bits)
0:00:04.133209942     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 59, -67147 bits)
0:00:04.166190682     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 61, -42349 bits)
0:00:04.184250052     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 62, -2539 bits)
0:00:08.450851402     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 318, -305803 bits)
0:00:08.482926137     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 320, -625485 bits)
0:00:08.502061929     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 321, -34131 bits)
0:00:13.167975232     2 0x7f387c0da300 WARN                 x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> VBV underflow (frame 600, -1144536 bits)
2023-07-11T22:23:35.800369Z DEBUG kooha::recording: Sending eos event to pipeline
0:00:16.706847605     2 0x7f387c0da360 WARN            audioencoder gstaudioencoder.c:985:gst_audio_encoder_finish_frame:<lamemp3enc0> Can't copy metadata because input buffer disappeared
2023-07-11T22:23:35.886565Z DEBUG kooha::recording: Eos signal received from record bus
0:00:16.789020648     2 0x7f387c0d2760 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment
[I][02685.744114] pw.stream    | [        stream.c:  603 impl_send_command()] 0x563adc67ec10: command Spa:Pod:Object:Command:Node:Pause
[I][02685.744275] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) running -> idle
[I][02685.765602] pw.stream    | [        stream.c:  603 impl_send_command()] 0x563adc67ec10: command Spa:Pod:Object:Command:Node:Suspend
[I][02685.765654] pw.node      | [     impl-node.c:  388 node_update_state()] (kooha-0) idle -> suspended
[I][02685.765701] pw.node      | [     impl-node.c: 1904 pw_impl_node_destroy()] (kooha-0) destroy
2023-07-11T22:23:35.942100Z DEBUG kooha::screencast_session: Closed screencast session response=()
[kam@kamalamalamalam ~]$ 
mitchmindtree commented 1 year ago

Also running into this issue on Nix + GNOME Wayland + pipewire (Kooha 2.2.3)

MkeFobe commented 8 months ago

Same for me here. Using Fedora 39 Workstation (Gnome / wayland) Kooha 2.2.4 pipewire 0.3.83

Additionally when I record longer sessions after around 17 minutes the sound gets corrupted. Seems like empty audio. Let me know if I can support - How can I help to debug?

SeaDve commented 8 months ago

Additionally when I record longer sessions after around 17 minutes the sound gets corrupted. Seems like empty audio. Let me know if I can support - How can I help to debug?

This has been fixed in main branch.