Need Help on webrtcsynk on 1.28

Dear, at the begininng thanks for your time for reading this noob post.

I have this pipeline working like a charm on 1.26.10
d3d12screencapturesrc capture-api=dxgi show-cursor=false ! d3d12convert ! video/x-raw(memory:D3D12Memory),format=NV12,framerate=30/1 ! queue max-size-buffers=3 max-size-time=0 max-size-bytes=0 leaky=downstream ! qsvh264enc rate-control=qvbr bitrate=12000 max-bitrate=28000 target-usage=4 gop-size=30 b-frames=0 low-latency=true qvbr-quality=10 ref-frames=1 cabac=off ! h264parse config-interval=1 ! video/x-h264,stream-format=(string)avc,alignment=(string)au,profile=(string)constrained-baseline ! queue max-size-buffers=3 max-size-time=0 max-size-bytes=0 leaky=downstream ! ws. webrtcsink name=ws congestion-control=disabled enable-control-data-channel=true enable-data-channel-navigation=true do-fec=false do-retransmission=true min-bitrate=6000000 start-bitrate=12000000 max-bitrate=28000000 video-caps=“video/x-h264,stream-format=(string)avc,alignment=(string)au,profile=(string)constrained-baseline” run-signalling-server=true signalling-server-host=0.0.0.0 signalling-server-port=8443 run-web-server=false web-server-host-addr=“``http://0.0.0.0:8080/``” web-server-path=/ web-server-directory=“gstwebrtc-api/dist” meta=“meta,name=desktop”
If I swap to 1.28 it won’t work anymore on the client browser, it seems that there’s a decoding mismatch.
What I miss with the new version?
As soon as I swap to x264enc with vp8 browser start to see the content.

Thanks again and regards

Andrea

Can you try with latest main? webrtcsink: negotiate profile and level for input encoded in H.264 (!2658) · Merge requests · GStreamer / gst-plugins-rs · GitLab might help, though your description is a bit light on details

Thanks for your answer.

Yes I have already tried because it is my issue, but unfortunately it give me same profile mismatch. Should I add some extra config to pipeline?

At the end I decided to drop profile control. webrtcsink: drop profile-level-id · pesa1234/gst-plugin-rs--fork@ae50530 · GitHub

I expose a parameter to drop the profile check

Have you investigated why exactly you got the profile mismatch?

Desktop screen grab stream @1080p301080p30 it is level 4.1 and the browser reply 3.1

0:00:26.594692600 27152 2164 ERROR webrtcsink net\webrtc\src\webrtcsink\imp.rs:3439:gstrswebrtc::webrtcsink: :imp::BaseWebRTCSink::start_session::{{closure}}: session 4e5910e7-ac6a-4d3f-bd73-c1b5bdf00d1c error: Internal data stream error., details: Some(“../libs/gst/base/gstbasesrc.c(3187): gst_base_src_loop (): /GstPipeline:session-pipeline-4e5910e7-ac6a-4d3f-bd73-c1b5bdf00d1c/GstAppSrc:video_0:\nstreaming stopped, reason not-negotiated (-4)”)

What’s the client browser?

chrome or firefox.
The only fix is or the remove the check like the patch in the post before or swap to cpu openh264 - libx264 - vp8 , but I lost Intel QSV or nvidia and the process cpu impact is high

seems related to https://groups.google.com/g/discuss-webrtc/c/frk9q-F3XbE/m/JwZoV3tjAAAJ?pli=1 , this is annoying. have you tried with a different profile?