Skip to content

[GStreamer][WebRTC] Excessive tag events with bitrate update at startup #42690

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 20, 2025

Conversation

cadubentzen
Copy link
Contributor

@cadubentzen cadubentzen commented Mar 19, 2025

18068fa

[GStreamer][WebRTC] Excessive tag events with bitrate update at startup
https://bugs.webkit.org/show_bug.cgi?id=290045

Reviewed by Philippe Normand.

Codec parsers like h264parse emit too many tag events at startup, while carrying
only small bitrate updates. As time passes, bitrate updates are sent
less frequently.

Reduce the overhead in the pipelines at startup by forwarding tag events only every
1 second in RealtimeIncomingSourceGStreamer.

Canonical link: https://commits.webkit.org/292399@main

37acfc6

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@cadubentzen cadubentzen self-assigned this Mar 19, 2025
@cadubentzen cadubentzen changed the title [GStreamer][WebRTC] Excessive tag events with bitrate updates. [GStreamer][WebRTC] Excessive tag events with bitrate updates Mar 19, 2025
@cadubentzen cadubentzen added the Platform Portability improvements and other general platform improvements not driven directly by site bugs. label Mar 19, 2025
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 19, 2025
@cadubentzen
Copy link
Contributor Author

EWS failure seems unrelated.

@cadubentzen cadubentzen marked this pull request as ready for review March 19, 2025 16:18
@cadubentzen cadubentzen requested a review from philn as a code owner March 19, 2025 16:18
@cadubentzen cadubentzen removed the merging-blocked Applied to prevent a change from being merged label Mar 19, 2025
@cadubentzen cadubentzen changed the title [GStreamer][WebRTC] Excessive tag events with bitrate updates [GStreamer][WebRTC] Excessive tag events with bitrate update at startup Mar 19, 2025
@cadubentzen
Copy link
Contributor Author

@philn I found an easier solution after seeing that the high frequency of tag events with small bitrate updates only happens at startup! Therefore, applying some simple backpressure should already be enough to reduce the overhead.

@cadubentzen cadubentzen requested a review from philn March 19, 2025 19:47
Copy link
Member

@philn philn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but please fix the typo ;)

@cadubentzen cadubentzen added the safe-merge-queue Applied to automatically send a pull-request to merge-queue after passing EWS checks label Mar 19, 2025
@webkit-ews-buildbot webkit-ews-buildbot added merge-queue Applied to send a pull request to merge-queue and removed safe-merge-queue Applied to automatically send a pull-request to merge-queue after passing EWS checks labels Mar 20, 2025
@webkit-ews-buildbot
Copy link
Collaborator

Safe-Merge-Queue: Build #51983.

https://bugs.webkit.org/show_bug.cgi?id=290045

Reviewed by Philippe Normand.

Codec parsers like h264parse emit too many tag events at startup, while carrying
only small bitrate updates. As time passes, bitrate updates are sent
less frequently.

Reduce the overhead in the pipelines at startup by forwarding tag events only every
1 second in RealtimeIncomingSourceGStreamer.

Canonical link: https://commits.webkit.org/292399@main
@webkit-commit-queue
Copy link
Collaborator

Committed 292399@main (18068fa): https://commits.webkit.org/292399@main

Reviewed commits have been landed. Closing PR #42690 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 18068fa into WebKit:main Mar 20, 2025
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Platform Portability improvements and other general platform improvements not driven directly by site bugs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants