Ok, so here is what I see:
gst-inspect-1.0 vapostproc:
video/x-raw(memory:DMABuf)
width: [ 16, 16384 ]
height: [ 16, 16384 ]
format: DMA_DRM
drm-format: { (string)NV12:0x0100000000000002, (string)YU12, (string)YV12, (string)YUYV:0x0100000000000002, (s
tring)YU16:0x0100000000000002, (string)P010:0x0100000000000002, (string)AR24:0x0100000000000002, (string)AB24:0x01000000000
00002, (string)AR30:0x0100000000000002, (string)AYUV:0x0100000000000002, (string)Y210:0x0100000000000002, (string)Y410:0x01
00000000000002, (string)P012:0x0100000000000002, (string)Y212:0x0100000000000002, (string)Y412:0x0100000000000002 }
gst-inspect-1.0 vah264enc:
video/x-raw(memory:DMABuf)
width: [ 32, 4096 ]
height: [ 32, 4096 ]
format: DMA_DRM
drm-format: NV12:0x0100000000000002
This leaves me with NV12:0x0100000000000002 as the only choice. When trying to apply these caps to pipewiresrc:
pipewiresrc fd={fd} path={node_id}
! video/x-raw(memory:DMABuf),format=DMA_DRM,width=1920,height=1080,drm-format=NV12:0x0100000000000002,framerate=60/1
! vapostproc
! vah264enc
I’m getting this:
2023-11-23 01:44:01,587 DEBG 'pipewire' stdout output:
[E][68379.490771] pw.context | [ context.c: 604 pw_context_debug_port_params()] params Spa:Enum:ParamId:EnumFormat: 0:0 Invalid argument (input format (no more input formats))
[E][68379.490777] pw.context | [ context.c: 623 pw_context_debug_port_params()] Object: size 224, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
[E][68379.490778] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
[E][68379.490780] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 2 (Spa:Enum:MediaType:video)
[E][68379.490781] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
[E][68379.490782] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 1 (Spa:Enum:MediaSubtype:raw)
[E][68379.490782] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
[E][68379.490784] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:Enum, flags 00000000 40 8
[E][68379.490784] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927935
[E][68379.490785] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927935
[E][68379.490786] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 0
[E][68379.490787] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
[E][68379.490787] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:None, flags 00000000 16 0
[E][68379.490788] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
[E][68379.490789] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:None, flags 00000000 24 8
[E][68379.490790] pw.context | [ context.c: 623 pw_context_debug_port_params()] Rectangle 1920x1080
[E][68379.490790] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
[E][68379.490791] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:None, flags 00000000 24 8
[E][68379.490792] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 60/1
[E][68379.490793] pw.context | [ context.c: 604 pw_context_debug_port_params()] params Spa:Enum:ParamId:EnumFormat: 1:0 Invalid argument (output format (no more input formats))
[E][68379.490794] pw.context | [ context.c: 623 pw_context_debug_port_params()] Object: size 280, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
[E][68379.490795] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
[E][68379.490796] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 2 (Spa:Enum:MediaType:video)
[E][68379.490796] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
[E][68379.490809] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 1 (Spa:Enum:MediaSubtype:raw)
[E][68379.490810] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
[E][68379.490810] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 8 (Spa:Enum:VideoFormat:BGRx)
[E][68379.490811] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
[E][68379.490812] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:Enum, flags 00000000 80 8
[E][68379.490813] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927935
[E][68379.490814] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927935
[E][68379.490814] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 0
[E][68379.490815] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927937
[E][68379.490816] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927938
[E][68379.490816] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927942
[E][68379.490817] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927943
[E][68379.490817] pw.context | [ context.c: 623 pw_context_debug_port_params()] Long 72057594037927944
[E][68379.490818] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
[E][68379.490819] pw.context | [ context.c: 623 pw_context_debug_port_params()] Rectangle 1920x1080
[E][68379.490819] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
[E][68379.490820] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 0/1
[E][68379.490821] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
[E][68379.490822] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
[E][68379.490822] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 60/1
[E][68379.490823] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 1/1
[E][68379.490824] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 60/1
[E][68379.490824] pw.context | [ context.c: 623 pw_context_debug_port_params()] Object: size 184, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
[E][68379.490825] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
[E][68379.490826] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 2 (Spa:Enum:MediaType:video)
[E][68379.490827] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
[E][68379.490827] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 1 (Spa:Enum:MediaSubtype:raw)
[E][68379.490828] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
[E][68379.490829] pw.context | [ context.c: 623 pw_context_debug_port_params()] Id 7 (Spa:Enum:VideoFormat:RGBx)
[E][68379.490829] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
[E][68379.490830] pw.context | [ context.c: 623 pw_context_debug_port_params()] Rectangle 1920x1080
[E][68379.490831] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
[E][68379.490831] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 0/1
[E][68379.490832] pw.context | [ context.c: 623 pw_context_debug_port_params()] Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
[E][68379.490833] pw.context | [ context.c: 623 pw_context_debug_port_params()] Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
[E][68379.490834] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 60/1
[E][68379.490834] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 1/1
[E][68379.490835] pw.context | [ context.c: 623 pw_context_debug_port_params()] Fraction 60/1
[E][68379.490837] pw.link | [ impl-link.c: 184 link_update_state()] (45.0.0 -> 56.0.0) negotiating -> error (no more input formats) (configure-configure)
2023-11-23 01:44:01,588 DEBG 'wireplumber' stdout output:
M 01:44:01.588171 m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/api.c:387:object_activate_done: <WpSiStandardLink:0x557aa827d570> 1 of 1 PipeWire links failed to activate
2023-11-23 01:44:01,591 DEBG 'xdg-desktop-portal-wlr' stdout output:
2023/11/23 01:44:01 [ERROR] - pipewire: fatal error event from core
Correct me if I’m wrong, but seems pipewiresrc supports only RGB/BGRx video formats, which can’t be converted to NV12 and therefore the whole thing fails…