[webkit-changes] [WebKit/WebKit] aed572: [GStreamer][WebRTC] Incoming video track handling ...
Philippe Normand
noreply at github.com
Thu Jul 11 04:41:19 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aed57210e6b345f50f0292484ad08e1d88c7415c
https://github.com/WebKit/WebKit/commit/aed57210e6b345f50f0292484ad08e1d88c7415c
Author: Philippe Normand <philn at igalia.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.h
Log Message:
-----------
[GStreamer][WebRTC] Incoming video track handling improvements
https://bugs.webkit.org/show_bug.cgi?id=276419
Reviewed by Xabier Rodriguez-Calvar.
The h265.html test now consistently fails, due to bug #269285. Before this patch it was consistently
timing out, due to a caps negotiation issue triggered when the MediaStreamTrack was disabled. The
framerate not being set on the black video frames triggered variable framerate code paths, messing
up downstream elements.
After fixing the framerate issue, another bug surfaced, the buffers coming from the RealtimeIncoming
source had no video meta information, leading to glupload failing to handle frames and raising
errors. By using fakevideosink instead of appsink in the WebRTC pipeline for incoming video tracks
that are decoded the tee element will perform no allocation query shenanigans and the decoder will
correctly attach video metas to buffers.
* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp:
(WebCore::RealtimeIncomingSourceGStreamer::configureAppSink):
(WebCore::RealtimeIncomingSourceGStreamer::configureFakeVideoSink):
(WebCore::RealtimeIncomingSourceGStreamer::handleDownstreamEvent):
(WebCore::RealtimeIncomingSourceGStreamer::registerClient):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.h:
Canonical link: https://commits.webkit.org/280855@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list