Title: [261947] branches/safari-609-branch

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

Reply via email to