[webkit-changes] [WebKit/WebKit] 782d2a: Cloning capture MediaStreamTrack should preserve m...

youennf noreply at github.com
Tue Nov 12 05:45:53 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 782d2a89a9b1338e940e13a4d16340ef973ee168
      https://github.com/WebKit/WebKit/commit/782d2a89a9b1338e940e13a4d16340ef973ee168
  Author: Youenn Fablet <youenn at apple.com>
  Date:   2024-11-12 (Tue, 12 Nov 2024)

  Changed paths:
    A LayoutTests/fast/mediastream/mediastreamtrack-clone-muted-expected.txt
    A LayoutTests/fast/mediastream/mediastreamtrack-clone-muted.html
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp
    M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp
    M Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp

  Log Message:
  -----------
  Cloning capture MediaStreamTrack should preserve muted/interrupted flags
rdar://139563413
https://bugs.webkit.org/show_bug.cgi?id=282874

Reviewed by Eric Carlson.

When cloning a track, we would ask the source to start producing data if the track producing data flag is set.
This is incorrect when the source is muted/interrupted, as the source producing data flag in that case is false but the track flag is true.
We should probably rename MediaStreamTrackPrivate::m_isProducingData in a follow-up.

Also, for video source clones, we would not copy the muted/interrupted states, which would make the MediaStreamTrackPrivate and its source out of sync.

Covered by added test.

* LayoutTests/fast/mediastream/mediastreamtrack-clone-muted-expected.txt: Added.
* LayoutTests/fast/mediastream/mediastreamtrack-clone-muted.html: Added.
* Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::clone):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
(WebKit::RemoteRealtimeMediaSourceProxy::clone):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
(WebKit::RemoteRealtimeVideoSource::clone):

Canonical link: https://commits.webkit.org/286477@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