Title: [261947] branches/safari-609-branch
- Revision
- 261947
- Author
- [email protected]
- Date
- 2020-05-20 13:21:31 -0700 (Wed, 20 May 2020)
Log Message
Apply patch. rdar://problem/63393729
Modified Paths
Added Paths
Diff
Modified: branches/safari-609-branch/LayoutTests/ChangeLog (261946 => 261947)
--- branches/safari-609-branch/LayoutTests/ChangeLog 2020-05-20 20:14:23 UTC (rev 261946)
+++ branches/safari-609-branch/LayoutTests/ChangeLog 2020-05-20 20:21:31 UTC (rev 261947)
@@ -1,3 +1,17 @@
+2020-05-20 Russell Epstein <[email protected]>
+
+ Apply patch. rdar://problem/63393729
+
+ 2020-05-20 Youenn Fablet <[email protected]>
+
+ Follow-up fix to https://trac.webkit.org/changeset/261583/webkit
+ rdar://problem/63393729
+
+ Add a test to ensure we unregister from the source even if not playing.
+
+ * webrtc/remoteAudio-never-played-expected.txt: Added.
+ * webrtc/remoteAudio-never-played.html: Added.
+
2020-05-19 Russell Epstein <[email protected]>
Apply patch. rdar://problem/63156096
Added: branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played-expected.txt (0 => 261947)
--- branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played-expected.txt (rev 0)
+++ branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played-expected.txt 2020-05-20 20:21:31 UTC (rev 261947)
@@ -0,0 +1,4 @@
+
+
+PASS Create and delete audio renderer without playing it
+
Added: branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played.html (0 => 261947)
--- branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played.html (rev 0)
+++ branches/safari-609-branch/LayoutTests/webrtc/remoteAudio-never-played.html 2020-05-20 20:21:31 UTC (rev 261947)
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Creating/deleting an audio receiver without playing it</title>
+ <script src=""
+ <script src=""
+ </head>
+ <body>
+ <video id="video"></video>
+ <script src =""
+ <script>
+promise_test(async (test) => {
+ const localStream = await navigator.mediaDevices.getUserMedia({audio: true});
+ const stream = await new Promise((resolve, reject) => {
+ createConnections((firstConnection) => {
+ firstConnection.addTrack(localStream.getAudioTracks()[0], localStream);
+ }, (secondConnection) => {
+ secondConnection._ontrack_ = (trackEvent) => {
+ resolve(trackEvent.streams[0]);
+ };
+ });
+ setTimeout(() => reject("Test timed out"), 5000);
+ });
+
+ video.srcObject = stream;
+ await new Promise(resolve => setTimeout(resolve, 10));
+
+ video.srcObject = stream;
+ await new Promise(resolve => setTimeout(resolve, 1000));
+}, "Create and delete audio renderer without playing it");
+ </script>
+ </body>
+</html>
Modified: branches/safari-609-branch/Source/WebCore/ChangeLog (261946 => 261947)
--- branches/safari-609-branch/Source/WebCore/ChangeLog 2020-05-20 20:14:23 UTC (rev 261946)
+++ branches/safari-609-branch/Source/WebCore/ChangeLog 2020-05-20 20:21:31 UTC (rev 261947)
@@ -1,3 +1,20 @@
+2020-05-20 Russell Epstein <[email protected]>
+
+ Apply patch. rdar://problem/63393729
+
+ 2020-05-20 Youenn Fablet <[email protected]>
+
+ Follow-up fix to https://trac.webkit.org/changeset/261583/webkit
+ rdar://problem/63393729
+
+ Add a test to ensure we unregister from the source even if not playing.
+
+ Test: webrtc/remoteAudio-never-played.html
+
+ * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
+ (WebCore::AudioTrackPrivateMediaStreamCocoa::clear):
+ Make sure to unregister unconditionally to cover the case of a renderer that never plays.
+
2020-05-19 Russell Epstein <[email protected]>
Apply patch. rdar://problem/63156096
Modified: branches/safari-609-branch/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp (261946 => 261947)
--- branches/safari-609-branch/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp 2020-05-20 20:14:23 UTC (rev 261946)
+++ branches/safari-609-branch/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp 2020-05-20 20:21:31 UTC (rev 261947)
@@ -53,10 +53,10 @@
void AudioTrackPrivateMediaStreamCocoa::clear()
{
ASSERT(isMainThread());
+ streamTrack().source().removeObserver(*this);
if (!m_isPlaying)
return;
- streamTrack().source().removeObserver(*this);
m_isPlaying = false;
if (m_remoteIOUnit) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes