Title: [187079] branches/safari-601.1-branch/Source/WebCore
Revision
187079
Author
matthew_han...@apple.com
Date
2015-07-20 21:37:55 -0700 (Mon, 20 Jul 2015)

Log Message

Merge r187025. rdar://problem/21878275

Modified Paths

Diff

Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (187078 => 187079)


--- branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-07-21 04:37:53 UTC (rev 187078)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-07-21 04:37:55 UTC (rev 187079)
@@ -1,5 +1,22 @@
 2015-07-20  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r187025. rdar://problem/21878275
+
+    2015-07-18  Ada Chan  <adac...@apple.com>
+
+            Fix deadlock between -[AVPlayerItem currentTime] and -[AVPlayer isExternalPlaybackActive]
+            https://bugs.webkit.org/show_bug.cgi?id=147085
+            <rdar://problem/21878275>
+
+            Reviewed by Jer Noble.
+
+            * Modules/webaudio/AudioContext.cpp:
+            (WebCore::AudioContext::isPlayingAudioDidChange):
+            Call Document::updateIsPlayingMedia() on the main thread, since we could be on the audio I/O
+            thread here and the Document::updateIsPlayingMedia() call could block, causing a deadlock.
+
+2015-07-20  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r186991. rdar://problem/21643094
 
     2015-07-18  David Kilzer  <ddkil...@apple.com>

Modified: branches/safari-601.1-branch/Source/WebCore/Modules/webaudio/AudioContext.cpp (187078 => 187079)


--- branches/safari-601.1-branch/Source/WebCore/Modules/webaudio/AudioContext.cpp	2015-07-21 04:37:53 UTC (rev 187078)
+++ branches/safari-601.1-branch/Source/WebCore/Modules/webaudio/AudioContext.cpp	2015-07-21 04:37:55 UTC (rev 187079)
@@ -1069,7 +1069,12 @@
 
 void AudioContext::isPlayingAudioDidChange()
 {
-    document()->updateIsPlayingMedia();
+    // Make sure to call Document::updateIsPlayingMedia() on the main thread, since
+    // we could be on the audio I/O thread here and the call into WebCore could block.
+    RefPtr<AudioContext> strongThis(this);
+    callOnMainThread([strongThis] {
+        strongThis->document()->updateIsPlayingMedia();
+    });
 }
 
 void AudioContext::fireCompletionEvent()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to