[webkit-changes] [WebKit/WebKit] 835950: Cherry-pick 282645 at main (b5502f0dc670). https://bu...
Philippe Normand
noreply at github.com
Wed Sep 25 04:03:27 PDT 2024
Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: 8359503b846d392673667fb5991bd6515ec057d0
https://github.com/WebKit/WebKit/commit/8359503b846d392673667fb5991bd6515ec057d0
Author: Ryan Reno <rreno at apple.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/Modules/reporting/ReportingObserver.cpp
Log Message:
-----------
Cherry-pick 282645 at main (b5502f0dc670). https://bugs.webkit.org/show_bug.cgi?id=278534
REGRESSION (280886 at main) ReportingObserver can be garbage collected while a task is queued to make report callbacks.
https://bugs.webkit.org/show_bug.cgi?id=278534
rdar://133409507
Reviewed by Brent Fulgham.
In 280886 at main I tied the lifetime of the ReportingObserver object to
whether or not it is observing reports by making it an ActiveDOMObject.
In some cases (especially imported/w3c/web-platform-tests/reporting/disconnect.html)
the object and its callback can be garbage collected while there's an
outstanding task to make the callback with its reports which can
cause a null pointer dereference when attempting to invoke the callback.
This change will keep the object alive until after the callback has been
serviced, even if all references are dropped and the ReportingObserver
has disconnected.
* Source/WebCore/Modules/reporting/ReportingObserver.cpp:
(WebCore::ReportingObserver::appendQueuedReportIfCorrectType):
Canonical link: https://commits.webkit.org/282645@main
Canonical link: https://commits.webkit.org/282416.152@webkitglib/2.46
Commit: 9aed97a611cba985a0c9cd626f1ae917e945d715
https://github.com/WebKit/WebKit/commit/9aed97a611cba985a0c9cd626f1ae917e945d715
Author: Philippe Normand <philn at igalia.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp
Log Message:
-----------
Cherry-pick 284212 at main (aab43ebf7ddb). https://bugs.webkit.org/show_bug.cgi?id=280266
[GStreamer][WebRTC] Changing codec preferences on a transceiver can lead to invalid SDP fmtp parameters in SDP
https://bugs.webkit.org/show_bug.cgi?id=280266
Reviewed by Xabier Rodriguez-Calvar.
In 252497 at main support for VP9 profile2 was added, by keeping track of the fmtp parameters in the
transceiver codec preferences, using codec-prefixed fields, which were then read by the outgoing
video source at the moment of configuring the encoder. The issue is that those fields with custom
prefix can end-up in SDP offers, and they're not spec compliant. So don't use a prefix for those.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:
(WebCore::toRtpCodecCapability):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):
Canonical link: https://commits.webkit.org/284212@main
Canonical link: https://commits.webkit.org/282416.153@webkitglib/2.46
Commit: 7c24b6e0b6e64e1476220456f797abee12a3e1fa
https://github.com/WebKit/WebKit/commit/7c24b6e0b6e64e1476220456f797abee12a3e1fa
Author: Philippe Normand <philn at igalia.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
Log Message:
-----------
Cherry-pick 284211 at main (678c69226d9c). https://bugs.webkit.org/show_bug.cgi?id=280269
REGRESSION(284065 at main): [GStreamer][MediaStream] Assertion failure ASSERTION FAILED: canSafelyBeUsed()
https://bugs.webkit.org/show_bug.cgi?id=280269
Reviewed by Xabier Rodriguez-Calvar.
Using WeakPtr for keeping track of the MediaStreamTrackPrivate in the mediastreamsrc element was a
mistake because the video frame dispatching can be triggered from a different thread.
ThreadSafeWeakPtr can't be used either, and actually there's no risk of reference cycles here, so
use RefPtr.
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
Canonical link: https://commits.webkit.org/284211@main
Canonical link: https://commits.webkit.org/282416.154@webkitglib/2.46
Compare: https://github.com/WebKit/WebKit/compare/71f816fba474...7c24b6e0b6e6
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