emersion / xdg-desktop-portal-wlr

xdg-desktop-portal backend for wlroots
MIT License
579 stars 53 forks source link

wlroots: manager_bind() is never called for export_dmabuf #290

Closed rayrapetyan closed 7 months ago

rayrapetyan commented 7 months ago

Trying to run https://gitlab.gnome.org/-/snippets/39 with a slightly modified pipeline:

pipewiresrc fd=%d path=%u ! queue ! videoconvert ! filesink location=/tmp/test.mkv

Logs look good, but nothing is written into file:

2023-11-19 02:12:58,279 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event

2023-11-19 02:12:58,280 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event

2023-11-19 02:12:58,280 DEBG 'xdg-desktop-portal' stdout output:
XDP: screen cast session owned by ':1.10' created

2023-11-19 02:12:58,281 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event
2023/11/19 02:12:58 [INFO] - dbus: create session method invoked
2023/11/19 02:12:58 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_10/u1
2023/11/19 02:12:58 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_10/u1
2023/11/19 02:12:58 [INFO] - dbus: app_id: 

2023-11-19 02:12:58,282 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event

2023-11-19 02:12:58,283 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event
2023/11/19 02:12:58 [INFO] - dbus: select sources method invoked
2023/11/19 02:12:58 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_10/u2
2023/11/19 02:12:58 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_10/u1
2023/11/19 02:12:58 [INFO] - dbus: app_id: 
2023/11/19 02:12:58 [DEBUG] - dbus: select sources: found matching session /org/freedesktop/portal/desktop/session/1_10/u1
2023/11/19 02:12:58 [INFO] - dbus: option types:3
2023/11/19 02:12:58 [INFO] - dbus: option multiple: 0
2023/11/19 02:12:58 [INFO] - wlroots: capturable output: Unknown model: Unknown: id: 35 name: HEADLESS-1
2023/11/19 02:12:58 [INFO] - xdpw: screencast instance 0x55a5736ebbd0 has 1 references
2023/11/19 02:12:58 [INFO] - xdpw: 1 active screencast instances
2023/11/19 02:12:58 [INFO] - wlroots: output: HEADLESS-1

2023-11-19 02:12:58,284 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event

2023-11-19 02:12:58,284 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got dbus event
2023/11/19 02:12:58 [INFO] - dbus: start method invoked
2023/11/19 02:12:58 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_10/u3
2023/11/19 02:12:58 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_10/u1
2023/11/19 02:12:58 [INFO] - dbus: app_id: 
2023/11/19 02:12:58 [INFO] - dbus: parent_window: 
2023/11/19 02:12:58 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_10/u1
2023/11/19 02:12:58 [TRACE] - wlroots: callbacks registered

2023-11-19 02:12:58,285 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - wlroots: buffer event handler
2023/11/19 02:12:58 [TRACE] - wlroots: linux_dmabuf event handler
2023/11/19 02:12:58 [TRACE] - wlroots: buffer_done event handler
2023/11/19 02:12:58 [TRACE] - wlroots: finish screencopy
2023/11/19 02:12:58 [TRACE] - wlroots: frame destroyed

2023-11-19 02:12:58,287 DEBG 'xdg-desktop-portal-wlr' stdout output:
[I][24521.569864] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
2023/11/19 02:12:58 [INFO] - wlroots: num_modififiers 7
2023/11/19 02:12:58 [INFO] - pipewire: stream state changed to "connecting"
2023/11/19 02:12:58 [INFO] - pipewire: node id is -1

2023-11-19 02:12:58,299 DEBG 'pipewire' stdout output:
[I][24521.583884] pw.node      | [     impl-node.c:  412 node_update_state()] (xdg-desktop-portal-wlr-38) creating -> suspended

2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58
2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
[INFO]
2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
 - 
2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
pipewire: stream state changed to "paused"
2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58
2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,300 DEBG 'xdg-desktop-portal-wlr' stdout output:
[INFO]
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
 - 
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
pipewire: node id is 38
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,301 DEBG 'pipewire' stdout output:
[I][24521.585828] pw.context   | [       context.c: 1207 pw_context_recalc_graph()] 0x5615503fbee0: busy:0 reason:node activate

2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
[DEBUG]
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
 - 
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:
dbus: start: returning node 38
2023-11-19 02:12:58,301 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,302 DEBG 'xdg-desktop-portal' stdout output:
XDP: Replacing restore data received from portal impl with a token

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_new_string: assertion 'string != NULL' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_new_variant: assertion 'value != NULL' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_get_type: assertion 'value != NULL' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_builder_end: assertion 'GVSB(builder)->offset >= GVSB(builder)->min_items' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_get_type: assertion 'value != NULL' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed

(/usr/libexec/xdg-desktop-portal:63): GLib-CRITICAL **: 02:12:58.301: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
XDP: screen cast session owned by ':1.10' started

2023-11-19 02:12:58,311 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.587087] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.85
[I][24521.587135] pw.conf      | [          conf.c:  404 conf_load()] 0x7f23a000b6d0: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][24521.587143] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][24521.587145] pw.context   | [       context.c:  247 pw_context_new()] 0x7f23a001a880: parsed 1 context.properties items
[I][24521.587401] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][24521.587414] pw.context   | [       context.c:  348 pw_context_new()] 0x7f23a001a880: parsed 2 context.spa-libs items
[I][24521.587415] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][24521.587421] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-protocol-native args:(null)
[I][24521.589075] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-protocol-native
[I][24521.589079] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-client-node args:(null)
[I][24521.590673] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-client-node
[I][24521.590676] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-client-device args:(null)
[I][24521.592060] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-client-device
[I][24521.592063] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-adapter args:(null)
[I][24521.593436] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-adapter
[I][24521.593439] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-metadata args:(null)
[I][24521.594758] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-metadata
[I][24521.594760] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x7f23a001a880: name:libpipewire-module-session-manager args:(null)

2023-11-19 02:12:58,311 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596298] pw.conf      | [          conf.c:  581 load_module()] 0x7f23a001a880: loaded module libpipewire-module-session-manager

2023-11-19 02:12:58,311 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596375] pw.context   | [       context.c:  352 pw_context_new()] 0x7f23a001a880: parsed 6 context.modules items

2023-11-19 02:12:58,311 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596451] pw.context   | [       context.c:  357 pw_context_new()] 0x7f23a001a880: parsed 0 context.objects items

2023-11-19 02:12:58,311 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596508] pw.context   | [       context.c:  360 pw_context_new()] 0x7f23a001a880: parsed 0 context.exec items

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[W][24521.596602] default      | [        thread.c:  105 impl_acquire_rt()] acquire_rt thread:0x7f23aa1926c0 prio:-1 not implemented

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596671] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:log.level type: value:0

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596729] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.rate type: value:48000

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596786] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.allowed-rates type: value:[ 48000 ]

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596842] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.quantum type: value:1024

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596897] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.min-quantum type: value:32

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.596951] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.max-quantum type: value:2048

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.597004] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.force-quantum type: value:0

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.597058] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x7f23a0026f30: add id:0 key:clock.force-rate type: value:0

2023-11-19 02:12:58,312 DEBG 'xdg-desktop-portal' stdout output:
[I][24521.597142] mod.protocol-native | [  local-socket.c:   72 try_connect()] connecting to 'pipewire-0' runtime_dir:/tmp/wayland

2023-11-19 02:12:58,312 DEBG 'pipewire' stdout output:
[I][24521.597234] mod.protocol-native | [module-protocol-:  598 client_new()] server 0x561550420f80: security label not available

2023-11-19 02:12:58,313 DEBG 'pipewire' stdout output:
[I][24521.597358] mod.portal   | [ module-portal.c:  105 context_check_access()] 0x56155041ab40: portal managed client 0x5615504ccac0 added
[I][24521.597363] pw.client    | [   impl-client.c:  741 pw_impl_client_update_permissions()] 0x5615504ccac0: set default permissions 00000000 -> 000001c8
[I][24521.597371] mod.access   | [ module-access.c:  167 context_check_access()] client 0x5615504ccac0: has already access: 'portal'
[I][24521.598298] pw.client    | [   impl-client.c:  776 pw_impl_client_update_permissions()] 0x5615504ccac0: set global 40 permissions 000001c8 -> 000001c8

2023-11-19 02:12:58,313 DEBG 'wireplumber' stdout output:
W 02:12:58.313532 m-portal-permissio ../subprojects/wireplumber/modules/module-portal-permissionstore.c:63:wp_portal_permissionstore_plugin_lookup: <WpPortalPermissionStorePlugin:0x556fb5d5d4e0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera

2023-11-19 02:12:58,313 DEBG 'pipewire' stdout output:
[I][24521.598454] pw.client    | [   impl-client.c:  776 pw_impl_client_update_permissions()] 0x5615504ccac0: set global 0 permissions 000001c8 -> 000001c0
[I][24521.598458] pw.client    | [   impl-client.c:  776 pw_impl_client_update_permissions()] 0x5615504ccac0: set global 11 permissions 000001c8 -> 00000100
[I][24521.598459] pw.client    | [   impl-client.c:  776 pw_impl_client_update_permissions()] 0x5615504ccac0: set global 38 permissions 000001c8 -> 000001c0
[I][24521.598460] pw.client    | [   impl-client.c:  741 pw_impl_client_update_permissions()] 0x5615504ccac0: set default permissions 000001c8 -> 00000000

2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58
2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:
[TRACE]
2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:
 - 
2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:
event-loop: got pipewire event
2023-11-19 02:12:58,314 DEBG 'xdg-desktop-portal-wlr' stdout output:

2023-11-19 02:12:58,330 DEBG 'pipewire' stdout output:
[I][24521.615192] pw.node      | [     impl-node.c:  412 node_update_state()] (python3.11-41) creating -> suspended

2023-11-19 02:12:58,330 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event

2023-11-19 02:12:58,332 DEBG 'pipewire' stdout output:
[I][24521.616423] pw.context   | [       context.c: 1207 pw_context_recalc_graph()] 0x5615503fbee0: busy:0 reason:node activate
[I][24521.616536] pw.link      | [     impl-link.c: 1429 pw_context_create_link()] (38.0.0 -> 41.0.0) (xdg-desktop-portal-wlr) -> (python3.11)
[I][24521.616540] pw.port      | [     impl-port.c: 1602 pw_impl_port_recalc_latency()] port 39: set input latency 0.000000-0.000000 0-0 0-0
[I][24521.616547] pw.port      | [     impl-port.c: 1602 pw_impl_port_recalc_latency()] port 42: set output latency 0.000000-0.000000 0-0 0-0
[I][24521.616548] pw.port      | [     impl-port.c: 1675 pw_impl_port_recalc_tag()] port 39: 0x5615504be930 keep input tag (nil)
[I][24521.616550] pw.port      | [     impl-port.c: 1675 pw_impl_port_recalc_tag()] port 42: 0x5615504e5270 keep output tag (nil)
[I][24521.616575] pw.link      | [     impl-link.c:  189 link_update_state()] (38.0.0 -> 41.0.0) init -> negotiating (configure-configure)

2023-11-19 02:12:58,332 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event
[I][24521.616614] pw.stream    | [        stream.c:  884 parse_latency()] stream 0x55a5736ed2e0: set input latency 0.000000-0.000000 0-0 0-0
2023/11/19 02:12:58 [TRACE] - pipewire: stream parameters changed
2023/11/19 02:12:58 [TRACE] - pipewire: stream parameters changed
2023/11/19 02:12:58 [DEBUG] - pipewire: Format negotiated:
2023/11/19 02:12:58 [DEBUG] - pipewire: buffer_type: 0 (4)
2023/11/19 02:12:58 [DEBUG] - pipewire: format: 7
2023/11/19 02:12:58 [DEBUG] - pipewire: modifier: 0
2023/11/19 02:12:58 [DEBUG] - pipewire: size: (1280, 720)
2023/11/19 02:12:58 [DEBUG] - pipewire: max_framerate: (60 / 1)

2023-11-19 02:12:58,332 DEBG 'pipewire' stdout output:
[I][24521.617160] pw.link      | [     impl-link.c:  189 link_update_state()] (38.0.0 -> 41.0.0) negotiating -> allocating (ready-ready)

2023-11-19 02:12:58,332 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2
2023/11/19 02:12:58 [DEBUG] - pipewire: add buffer event handle
2023/11/19 02:12:58 [TRACE] - pipewire: selected buffertype 2

2023-11-19 02:12:58,379 DEBG 'pipewire' stdout output:
[I][24521.663998] pw.link      | [     impl-link.c:  189 link_update_state()] (38.0.0 -> 41.0.0) allocating -> paused (paused-paused)
[I][24521.664008] pw.context   | [       context.c: 1207 pw_context_recalc_graph()] 0x5615503fbee0: busy:0 reason:link prepared
[I][24521.664012] pw.node      | [     impl-node.c:  890 pw_impl_node_set_driver()] (python3.11-41) -> change driver (python3.11-41 -> xdg-desktop-portal-wlr-38)

2023-11-19 02:12:58,379 DEBG 'pipewire' stdout output:
[I][24521.664258] pw.link      | [     impl-link.c:  699 pw_impl_link_activate()] (38.0.0 -> 41.0.0) activated
[I][24521.664262] pw.link      | [     impl-link.c:  189 link_update_state()] (38.0.0 -> 41.0.0) paused -> active (paused-paused)

2023-11-19 02:12:58,379 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event

2023-11-19 02:12:58,381 DEBG 'compositor' stdout output:
00:00:20.269 [DEBUG] [types/output/render.c:282] Disabling direct scan-out on output 'HEADLESS-1' (locks: 1)
00:00:20.269 [DEBUG] [types/output/cursor.c:43] Disabling hardware cursors on output 'HEADLESS-1' (locks: 1)

2023-11-19 02:12:58,381 DEBG 'pipewire' stdout output:
[I][24521.664607] pw.node      | [     impl-node.c:  412 node_update_state()] (python3.11-41) suspended -> running
[I][24521.664618] pw.node      | [     impl-node.c:  412 node_update_state()] (xdg-desktop-portal-wlr-38) suspended -> running

2023-11-19 02:12:58,381 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event
[I][24521.664813] pw.stream    | [        stream.c:  651 impl_send_command()] 0x55a5736ed2e0: command Spa:Pod:Object:Command:Node:Start
2023/11/19 02:12:58 [INFO] - pipewire: stream state changed to "streaming"
2023/11/19 02:12:58 [INFO] - pipewire: node id is 38
2023/11/19 02:12:58 [TRACE] - wlroots: start screencopy
2023/11/19 02:12:58 [TRACE] - wlroots: callbacks registered
[I][24521.664831] pw.node      | [     impl-node.c:  412 node_update_state()] (xdg-desktop-portal-wlr-38) creating -> running
2023/11/19 02:12:58 [TRACE] - event-loop: got pipewire event
2023/11/19 02:12:58 [TRACE] - event-loop: got wayland event
2023/11/19 02:12:58 [TRACE] - wlroots: buffer event handler
2023/11/19 02:12:58 [TRACE] - wlroots: linux_dmabuf event handler
2023/11/19 02:12:58 [TRACE] - wlroots: buffer_done event handler
2023/11/19 02:12:58 [TRACE] - pipewire: dequeueing buffer
2023/11/19 02:12:58 [TRACE] - wlroots: frame copied

2023-11-19 02:12:58,384 DEBG 'compositor' stdout output:
00:00:20.272 [DEBUG] [GLES2] memory mapping a busy "miptree" BO stalled and took 1.029 ms.

00:00:20.273 [DEBUG] [types/output/render.c:282] Enabling direct scan-out on output 'HEADLESS-1' (locks: 0)
00:00:20.273 [DEBUG] [types/output/cursor.c:43] Enabling hardware cursors on output 'HEADLESS-1' (locks: 0)

2023-11-19 02:12:58,384 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got wayland event
2023/11/19 02:12:58 [TRACE] - wlroots: flags event handler
2023/11/19 02:12:58 [TRACE] - wlroots: damage event handler
2023/11/19 02:12:58 [TRACE] - wlroots: damage 0: 0,0x1280,720
2023/11/19 02:12:58 [TRACE] - wlroots: ready event handler
2023/11/19 02:12:58 [TRACE] - wlroots: timestamp 24522:137207156
2023/11/19 02:12:58 [TRACE] - wlroots: finish screencopy
2023/11/19 02:12:58 [TRACE] - wlroots: frame destroyed
2023/11/19 02:12:58 [TRACE] - pipewire: enqueueing buffer
2023/11/19 02:12:58 [TRACE] - ********************
2023/11/19 02:12:58 [TRACE] - pipewire: timestamp 24522137207156
2023/11/19 02:12:58 [TRACE] - pipewire: transformation 0
2023/11/19 02:12:58 [TRACE] - pipewire: plane 0
2023/11/19 02:12:58 [TRACE] - pipewire: fd 32
2023/11/19 02:12:58 [TRACE] - pipewire: maxsize 3686400
2023/11/19 02:12:58 [TRACE] - pipewire: size 3686400
2023/11/19 02:12:58 [TRACE] - pipewire: stride 5120
2023/11/19 02:12:58 [TRACE] - pipewire: offset 0
2023/11/19 02:12:58 [TRACE] - pipewire: chunk flags 0
2023/11/19 02:12:58 [TRACE] - pipewire: width 1280
2023/11/19 02:12:58 [TRACE] - pipewire: height 720
2023/11/19 02:12:58 [TRACE] - pipewire: y_invert 0
2023/11/19 02:12:58 [TRACE] - ********************
2023/11/19 02:12:58 [TRACE] - fps_limit: elapsed time since the last measurement: 3717755, target 16666666, should delay for 12948911 (ns)

2023-11-19 02:12:58,397 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got a timer event
2023/11/19 02:12:58 [TRACE] - wlroots: start screencopy
2023/11/19 02:12:58 [TRACE] - wlroots: callbacks registered

2023-11-19 02:12:58,397 DEBG 'compositor' stdout output:
00:00:20.286 [DEBUG] [types/output/render.c:282] Disabling direct scan-out on output 'HEADLESS-1' (locks: 1)
00:00:20.286 [DEBUG] [types/output/cursor.c:43] Disabling hardware cursors on output 'HEADLESS-1' (locks: 1)

2023-11-19 02:12:58,397 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/19 02:12:58 [TRACE] - event-loop: got wayland event
2023/11/19 02:12:58 [TRACE] - wlroots: buffer event handler
2023/11/19 02:12:58 [TRACE] - wlroots: linux_dmabuf event handler
2023/11/19 02:12:58 [TRACE] - wlroots: buffer_done event handler
2023/11/19 02:12:58 [TRACE] - pipewire: dequeueing buffer
2023/11/19 02:12:58 [TRACE] - wlroots: frame copied
[I][24521.558418] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.85
PYTHON_TEST: new_session_path: /org/freedesktop/portal/desktop/session/1_10/u1
PYTHON_TEST: screen_cast_call: method: <dbus.proxies._DeferredMethod object at 0x7f7b493eed90>, args: ()
PYTHON_TEST: new_request_path: /org/freedesktop/portal/desktop/request/1_10/u1
PYTHON_TEST: on_create_session_response: 0 results: dbus.Dictionary({dbus.String('session_handle'): dbus.String('/org/freedesktop/portal/desktop/session/1_10/u1', variant_level=1)}, signature=dbus.Signature('sv'))
session /org/freedesktop/portal/desktop/session/1_10/u1 created
PYTHON_TEST: screen_cast_call: method: <dbus.proxies._ProxyMethod object at 0x7f7b49190550>, args: (dbus.String('/org/freedesktop/portal/desktop/session/1_10/u1', variant_level=1),)
PYTHON_TEST: new_request_path: /org/freedesktop/portal/desktop/request/1_10/u2
PYTHON_TEST: on_select_sources_response: 0 results: dbus.Dictionary({}, signature=dbus.Signature('sv'))
sources selected
PYTHON_TEST: screen_cast_call: method: <dbus.proxies._ProxyMethod object at 0x7f7b49190550>, args: (dbus.String('/org/freedesktop/portal/desktop/session/1_10/u1', variant_level=1), '')
PYTHON_TEST: new_request_path: /org/freedesktop/portal/desktop/request/1_10/u3
PYTHON_TEST: on_start_response: 0, results: dbus.Dictionary({dbus.String('streams'): dbus.Array([dbus.Struct((dbus.UInt32(38), dbus.Dictionary({dbus.String('position'): dbus.Struct((dbus.Int32(0), dbus.Int32(0)), signature=None, variant_level=1), dbus.String('size'): dbus.Struct((dbus.Int32(1280), dbus.Int32(720)), signature=None, variant_level=1), dbus.String('source_type'): dbus.UInt32(2, variant_level=1)}, signature=dbus.Signature('sv'))), signature=None)], signature=dbus.Signature('(ua{sv})'), variant_level=1)}, signature=dbus.Signature('sv'))
streams:
stream 38
PYTHON_TEST: play_pipewire_stream
PYTHON_TEST: node_id: 38
[I][24521.600131] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.85
0:00:00.071964868   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:1357:gst_pipewire_src_open:<pipewiresrc0> open
[I][24521.604136] pw.conf      | [          conf.c:  404 conf_load()] 0x1433680: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][24521.604145] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][24521.604149] pw.context   | [       context.c:  247 pw_context_new()] 0x14683b0: parsed 1 context.properties items
[I][24521.604301] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][24521.604318] pw.context   | [       context.c:  348 pw_context_new()] 0x14683b0: parsed 2 context.spa-libs items
[I][24521.604322] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][24521.604325] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-protocol-native args:(null)
[I][24521.605945] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-protocol-native
[I][24521.605951] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-client-node args:(null)
[I][24521.607442] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-client-node
[I][24521.607447] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-client-device args:(null)
[I][24521.608874] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-client-device
[I][24521.608879] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-adapter args:(null)
[I][24521.610307] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-adapter
[I][24521.610312] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-metadata args:(null)
[I][24521.611715] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-metadata
[I][24521.611719] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x14683b0: name:libpipewire-module-session-manager args:(null)
[I][24521.613137] pw.conf      | [          conf.c:  581 load_module()] 0x14683b0: loaded module libpipewire-module-session-manager
[I][24521.613142] pw.context   | [       context.c:  352 pw_context_new()] 0x14683b0: parsed 6 context.modules items
[I][24521.613144] pw.context   | [       context.c:  357 pw_context_new()] 0x14683b0: parsed 0 context.objects items
[I][24521.613146] pw.context   | [       context.c:  360 pw_context_new()] 0x14683b0: parsed 0 context.exec items
[W][24521.613188] default      | [        thread.c:  105 impl_acquire_rt()] acquire_rt thread:0x7f7b4736b6c0 prio:-1 not implemented
[I][24521.613194] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:log.level type: value:0
[I][24521.613197] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.rate type: value:48000
[I][24521.613200] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][24521.613202] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.quantum type: value:1024
[I][24521.613204] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.min-quantum type: value:32
[I][24521.613206] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.max-quantum type: value:2048
[I][24521.613208] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.force-quantum type: value:0
[I][24521.613210] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x145d8b0: add id:0 key:clock.force-rate type: value:0
[I][24521.613282] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
0:00:00.081247400   121      0x120b410 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1608:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::prepare:<webrtcsink0> preparing
0:00:00.081716954   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:783:wait_started:<pipewiresrc0> waiting for started signal, state now unconnected
0:00:00.081760926   121      0x14344c0 FIXME                default gstutils.c:4088:gst_element_decorate_stream_id_internal:<pipewiresrc0> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.081806834   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:824:gst_pipewire_src_negotiate:<pipewiresrc0> caps of src: ANY
0:00:00.082524115   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:834:gst_pipewire_src_negotiate:<pipewiresrc0> caps of peer: video/x-raw, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }; video/x-raw, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }; video/x-raw(memory:CUDAMemory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:NVMM), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:D3D11Memory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.082594092   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:846:gst_pipewire_src_negotiate:<pipewiresrc0> have common caps: video/x-raw, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }; video/x-raw, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }; video/x-raw(memory:CUDAMemory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:NVMM), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:D3D11Memory), format=(string){ DMA_DRM, A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.082772997   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:896:gst_pipewire_src_negotiate:<pipewiresrc0> connect capture with path 38, target-object (null)
0:00:00.082781253   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:675:on_state_changed: got stream state connecting
0:00:00.082850511   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:918:gst_pipewire_src_negotiate:<pipewiresrc0> waiting for NEGOTIATED, now connecting
0:00:00.082858075   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:783:wait_started:<pipewiresrc0> waiting for started signal, state now connecting
0:00:00.084280699   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:675:on_state_changed: got stream state paused
0:00:00.084313267   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:995:on_param_changed:<pipewiresrc0> clear format
[I][24521.617050] pw.stream    | [        stream.c:  884 parse_latency()] stream 0x1495040: set output latency 0.000000-0.000000 0-0 0-0
0:00:00.084959218   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:995:on_param_changed:<pipewiresrc0> clear format
0:00:00.085011190   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:1025:on_param_changed:<pipewiresrc0> we got format video/x-raw, format=(string)RGBx, width=(int)1280, height=(int)720, framerate=(fraction)0/1, max-framerate=(fraction)60/1
0:00:00.085017828   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:1051:on_param_changed:<pipewiresrc0> doing finish format
0:00:00.085560810   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:918:gst_pipewire_src_negotiate:<pipewiresrc0> waiting for NEGOTIATED, now paused
0:00:00.085572165   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:937:gst_pipewire_src_negotiate:<pipewiresrc0> set format video/x-raw, format=(string)RGBx, width=(int)1280, height=(int)720, framerate=(fraction)0/1, max-framerate=(fraction)60/1
0:00:00.085932559   121      0x14344c0 INFO              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3289:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::sink_event:<webrtcsink0:video_0> Received caps event Caps { seqnum: Seqnum(33), running-time-offset: 0, structure: Some(GstEventCaps { caps: (GstCaps) video/x-raw, format=(string)RGBx, width=(int)1280, height=(int)720, framerate=(fraction)0/1, max-framerate=(fraction)60/1 }), caps: Caps(video/x-raw(memory:SystemMemory) { format: (gchararray) "RGBx", width: (gint) 1280, height: (gint) 720, framerate: (GstFraction) 0/1, max-framerate: (GstFraction) 60/1 }) }
0:00:00.085953807   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:725:gst_pipewire_src_stream_start:<pipewiresrc0> doing stream start
0:00:00.085957231   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:733:gst_pipewire_src_stream_start:<pipewiresrc0> waiting for STREAMING, now paused
0:00:00.085963568   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:783:wait_started:<pipewiresrc0> waiting for started signal, state now paused
0:00:00.131811002   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b380078b0
0:00:00.131823962   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38007b90
0:00:00.131826843   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38007e70
0:00:00.131828740   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38008150
0:00:00.131830849   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38008430
0:00:00.131832728   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38008710
0:00:00.131834944   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b380089f0
0:00:00.131837442   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38008e40
0:00:00.131839958   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38009290
0:00:00.131841796   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b380096e0
0:00:00.131843804   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38009b30
0:00:00.131846303   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b38009f80
0:00:00.131848373   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b3800a3d0
0:00:00.131850236   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b3800a820
0:00:00.131854376   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b3800ac70
0:00:00.131856361   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:500:on_add_buffer:<pipewiresrc0> add buffer 0x7f7b3800b0c0
[I][24521.664564] pw.stream    | [        stream.c:  651 impl_send_command()] 0x1495040: command Spa:Pod:Object:Command:Node:Start
0:00:00.132487619   121 0x7f7b40004720 DEBUG            pipewiresrc gstpipewiresrc.c:675:on_state_changed: got stream state streaming
[I][24521.666538] pw.node      | [     impl-node.c:  412 node_update_state()] (python3.11-41) creating -> running
0:00:00.134499551   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:783:wait_started:<pipewiresrc0> waiting for started signal, state now streaming
0:00:00.134510479   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:733:gst_pipewire_src_stream_start:<pipewiresrc0> waiting for STREAMING, now streaming
0:00:00.134515987   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:713:parse_stream_properties:<pipewiresrc0> live 1
0:00:00.134520786   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:752:gst_pipewire_src_stream_start:<pipewiresrc0> signal started
0:00:00.134565076   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:783:wait_started:<pipewiresrc0> waiting for started signal, state now streaming
0:00:00.134568128   121      0x120b410 DEBUG            pipewiresrc gstpipewiresrc.c:802:wait_started:<pipewiresrc0> got started signal: streaming
0:00:00.134737744   121      0x14344c0 DEBUG            pipewiresrc gstpipewiresrc.c:1080:gst_pipewire_src_unlock_stop:<pipewiresrc0> unsetting flushing
0:00:00.134743146   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1178:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: gst_pipewire_src_create
0:00:00.134746818   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1180:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: path: 38 is_video: 1
0:00:00.134749056   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1187:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: inside the while loop
0:00:00.134751987   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1234:gst_pipewire_src_create:<pipewiresrc0> popped buffer (nil)
0:00:00.134754033   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1249:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: before pw_thread_loop_wait
0:00:00.136768299   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1187:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: inside the while loop
0:00:00.136776486   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:571:dequeue_buffer:<pipewiresrc0> got new buffer 0x7f7b380078b0
0:00:00.136780411   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:581:dequeue_buffer:<pipewiresrc0> pts 24522137207156, dts_offset 0
0:00:00.137693590   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:483:buffer_recycle:<pipewiresrc0> recycle buffer 0x7f7b380078b0
0:00:00.137700482   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1234:gst_pipewire_src_create:<pipewiresrc0> popped buffer 0x7f7b400038e0
0:00:00.137704532   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1253:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: before pw_thread_loop_unlock2
0:00:00.137712786   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1162:gst_pipewire_src_get_times:<pipewiresrc0> start 6:48:42.137207156 (24522137207156), end 99:99:99.999999999 (18446744073709551615)
0:00:00.139162181   121 0x7f7b30001d20 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3007:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}:<webrtcsink0> Running discovery pipeline for input caps video/x-raw, format=(string)RGBx, width=(int)1280, height=(int)720, framerate=(fraction)0/1 and output caps ANY with codec Codec { name: "H264", caps: Caps(video/x-h264(memory:SystemMemory)), stream_type: StreamType(VIDEO), payload_type: Some(96), decoding_info: Some(DecodingInfo { has_decoder: false }), encoding_info: Some(EncodingInfo { encoder: ElementFactory { inner: TypedObjectRef { inner: 0x13fe810, type: GstElementFactory } }, payloader: ElementFactory { inner: TypedObjectRef { inner: 0x13ec0a0, type: GstElementFactory } }, output_filter: None }) }
0:00:00.139170079   121 0x7f7b30001d20 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3013:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}:<webrtcsink0> Running discovery pipeline
0:00:00.142345778   121 0x7f7b30001d20 TRACE             webrtcsink net/webrtc/src/webrtcsink/imp.rs:802:gstrswebrtc::webrtcsink::imp::EncodingChainBuilder::build:<pipeline1> Setting up encoding, input caps: video/x-raw, format=(string)RGBx, width=(int)1280, height=(int)720, framerate=(fraction)0/1, output caps: ANY, codec: Codec { name: "H264", caps: Caps(video/x-h264(memory:SystemMemory)), stream_type: StreamType(VIDEO), payload_type: Some(96), decoding_info: Some(DecodingInfo { has_decoder: false }), encoding_info: Some(EncodingInfo { encoder: ElementFactory { inner: TypedObjectRef { inner: 0x13fe810, type: GstElementFactory } }, payloader: ElementFactory { inner: TypedObjectRef { inner: 0x13ec0a0, type: GstElementFactory } }, output_filter: None }) }, twcc: Some(1)
0:00:00.158358068   121 0x7f7b30001d20 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3770:<gstrswebrtc::webrtcsink::imp::BaseWebRTCSink as glib::subclass::object::ObjectImpl>::signals::SIGNALS::{{closure}}::{{closure}}:<webrtcsink0> applying default configuration on encoder Element { inner: TypedObjectRef { inner: 0x7f7b3000f8c0, type: GstX264Enc } }
0:00:00.158949696   121 0x7f7b3004dd80 FIXME                default gstutils.c:4088:gst_element_decorate_stream_id_internal:<appsrc0> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.167826835   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1178:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: gst_pipewire_src_create
0:00:00.167842439   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1180:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: path: 38 is_video: 1
0:00:00.167846509   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1187:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: inside the while loop
0:00:00.167849958   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1234:gst_pipewire_src_create:<pipewiresrc0> popped buffer (nil)
0:00:00.167852049   121      0x14344c0 LOG              pipewiresrc gstpipewiresrc.c:1249:gst_pipewire_src_create:<pipewiresrc0> ARA0.1: before pw_thread_loop_wait

I think popped buffer (nil) is something unexpected. Could someone with a working pipewiresrc pipeline tell me what's there after "popped buffer" line in their logs?

debug-pipewire-screencast.sh output:

pw-dump | jq -r '[.[] | select(.info.props."node.name" | IN("firefox","gnome-shell","kwin_wayland","obs","xdg-desktop-portal-wlr","xdp-screencast.py")) | .id] as $pw_node_ids | [ .[] | select(.info.props."node.id" | IN($pw_node_ids[])) | .id ] as $pw_port_ids | .[] | select(.id | IN(($pw_node_ids + $pw_port_ids)[]))'
[I][23958.653956] pw.context   | [      pipewire.c:  647 pw_init()] version 0.3.85
[I][23958.654017] pw.conf      | [          conf.c:  404 conf_load()] 0x55ffd8139be0: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][23958.654026] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][23958.654029] pw.context   | [       context.c:  247 pw_context_new()] 0x55ffd81391a0: parsed 1 context.properties items
[I][23958.654588] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][23958.654604] pw.context   | [       context.c:  348 pw_context_new()] 0x55ffd81391a0: parsed 2 context.spa-libs items
[I][23958.654606] pw.conf      | [          conf.c:  957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][23958.654611] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-protocol-native args:(null)
[I][23958.656320] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-protocol-native
[I][23958.656325] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-client-node args:(null)
[I][23958.657897] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-client-node
[I][23958.657901] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-client-device args:(null)
[I][23958.659216] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-client-device
[I][23958.659220] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-adapter args:(null)
[I][23958.660700] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-adapter
[I][23958.660705] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-metadata args:(null)
[I][23958.662136] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-metadata
[I][23958.662140] pw.module    | [   impl-module.c:  157 pw_context_load_module()] 0x55ffd81391a0: name:libpipewire-module-session-manager args:(null)
[I][23958.663696] pw.conf      | [          conf.c:  581 load_module()] 0x55ffd81391a0: loaded module libpipewire-module-session-manager
[I][23958.663702] pw.context   | [       context.c:  352 pw_context_new()] 0x55ffd81391a0: parsed 6 context.modules items
[I][23958.663705] pw.context   | [       context.c:  357 pw_context_new()] 0x55ffd81391a0: parsed 0 context.objects items
[I][23958.663707] pw.context   | [       context.c:  360 pw_context_new()] 0x55ffd81391a0: parsed 0 context.exec items
[W][23958.663749] default      | [        thread.c:  105 impl_acquire_rt()] acquire_rt thread:0x7f49bbb2c6c0 prio:-1 not implemented
[I][23958.663760] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:log.level type: value:0
[I][23958.663764] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.rate type: value:48000
[I][23958.663767] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][23958.663770] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.quantum type: value:1024
[I][23958.663772] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.min-quantum type: value:32
[I][23958.663775] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.max-quantum type: value:2048
[I][23958.663777] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.force-quantum type: value:0
[I][23958.663779] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x55ffd814c0f0: add id:0 key:clock.force-rate type: value:0
[I][23958.663816] mod.protocol-native | [  local-socket.c:   72 try_connect()] connecting to 'pipewire-0-manager' runtime_dir:/tmp/wayland
{
  "id": 38,
  "type": "PipeWire:Interface:Node",
  "version": 3,
  "permissions": [
    "r",
    "w",
    "x",
    "m"
  ],
  "info": {
    "max-input-ports": 0,
    "max-output-ports": 1,
    "change-mask": [
      "input-ports",
      "output-ports",
      "state",
      "props",
      "params"
    ],
    "n-input-ports": 0,
    "n-output-ports": 1,
    "state": "running",
    "error": null,
    "props": {
      "client.id": 37,
      "media.class": "Video/Source",
      "media.name": "xdpw-stream-bHlhOK",
      "node.driver": true,
      "node.name": "xdg-desktop-portal-wlr",
      "node.want-driver": true,
      "object.id": 38,
      "object.serial": 39,
      "stream.is-live": true
    },
    "params": {
      "PropInfo": [],
      "Props": [],
      "EnumFormat": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "BGRx",
          "modifier": {
            "default": 72057594037927940,
            "alt1": 72057594037927940,
            "alt2": 0,
            "alt3": 72057594037927940,
            "alt4": 72057594037927940,
            "alt5": 72057594037927940,
            "alt6": 72057594037927940,
            "alt7": 72057594037927940
          },
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 60,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 60,
              "denom": 1
            }
          }
        },
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 60,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 60,
              "denom": 1
            }
          }
        }
      ],
      "Format": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "num": 60,
            "denom": 1
          }
        }
      ]
    }
  }
}
{
  "id": 39,
  "type": "PipeWire:Interface:Port",
  "version": 3,
  "permissions": [
    "r",
    "x",
    "m"
  ],
  "info": {
    "direction": "output",
    "change-mask": [
      "props",
      "params"
    ],
    "props": {
      "node.id": 38,
      "object.id": 39,
      "object.path": "xdg-desktop-portal-wlr:capture_0",
      "object.serial": 40,
      "port.alias": "xdg-desktop-portal-wlr:capture_1",
      "port.direction": "out",
      "port.id": 0,
      "port.name": "capture_1"
    },
    "params": {
      "EnumFormat": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "BGRx",
          "modifier": {
            "default": 72057594037927940,
            "alt1": 72057594037927940,
            "alt2": 0,
            "alt3": 72057594037927940,
            "alt4": 72057594037927940,
            "alt5": 72057594037927940,
            "alt6": 72057594037927940,
            "alt7": 72057594037927940
          },
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 60,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 60,
              "denom": 1
            }
          }
        },
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 60,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 60,
              "denom": 1
            }
          }
        }
      ],
      "Meta": [
        {
          "type": "Busy",
          "size": 8
        },
        {
          "type": "Header",
          "size": 32
        },
        {
          "type": "VideoTransform",
          "size": 4
        },
        {
          "type": "VideoDamage",
          "size": {
            "default": 64,
            "min": 16,
            "max": 64
          }
        }
      ],
      "IO": [
        {
          "id": "Buffers",
          "size": 8
        }
      ],
      "Format": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 1280,
            "height": 720
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "num": 60,
            "denom": 1
          }
        }
      ],
      "Buffers": [
        {
          "buffers": {
            "default": 2,
            "min": 2,
            "max": 32
          },
          "blocks": 1,
          "size": 3686400,
          "stride": 5120,
          "align": 16,
          "dataType": {
            "default": 4
          }
        }
      ],
      "Latency": [
        {
          "direction": "Input",
          "minQuantum": 0,
          "maxQuantum": 0,
          "minRate": 0,
          "maxRate": 0,
          "minNs": 0,
          "maxNs": 0
        }
      ],
      "Tag": []
    }
  }
}
rayrapetyan commented 7 months ago

Made some progress after adding custom debugging messages. Seems my problem comes from wlroots: I see both managers (wlr_screencopy_manager_v1_create() and wlr_export_dmabuf_manager_v1_create()) are being created; screencopy calls manager_bind() through the wl_global_create(), but same doesn't happen for export_dmabuf... Investigating further.

rayrapetyan commented 7 months ago

Ok, so seems it's xdg-desktop-portal-wlr is responsible to call wl_registry_bind for all interfaces, and it does so only for wlr_screencopy_v1... Is xdg-desktop-portal-wlr going to support wlr_export_dmabuf? Or zwp_linux_dmabuf_v1_interface is enough? What's the difference?

rayrapetyan commented 7 months ago
  1. Seems xdg-desktop-portal-wlr is not going to support export_dmabuf
  2. wlroots produce no frames when there is no activity on the "screen"