Title: [233478] trunk/Tools
Revision
233478
Author
[email protected]
Date
2018-07-03 14:02:10 -0700 (Tue, 03 Jul 2018)

Log Message

Video sometimes flickers when playing to AppleTV
https://bugs.webkit.org/show_bug.cgi?id=187193
<rdar://problem/40153865>

Unreviewed, fix test broken by r233435.


* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
(TestWebKitAPI::waitUntilAudioSessionCategoryIsEqualTo): Poll for a change in audio session
category because it doesn't necessarily happen synchronously.
(TestWebKitAPI::TEST):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (233477 => 233478)


--- trunk/Tools/ChangeLog	2018-07-03 20:53:25 UTC (rev 233477)
+++ trunk/Tools/ChangeLog	2018-07-03 21:02:10 UTC (rev 233478)
@@ -1,3 +1,16 @@
+2018-07-03  Eric Carlson  <[email protected]>
+
+        Video sometimes flickers when playing to AppleTV
+        https://bugs.webkit.org/show_bug.cgi?id=187193
+        <rdar://problem/40153865>
+
+        Unreviewed, fix test broken by r233435.
+
+        * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
+        (TestWebKitAPI::waitUntilAudioSessionCategoryIsEqualTo): Poll for a change in audio session 
+        category because it doesn't necessarily happen synchronously.
+        (TestWebKitAPI::TEST):
+
 2018-07-03  Thibault Saunier  <[email protected]>
 
         Unreviewed, add myself as a WebKit committer.

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm (233477 => 233478)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm	2018-07-03 20:53:25 UTC (rev 233477)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm	2018-07-03 21:02:10 UTC (rev 233478)
@@ -59,6 +59,16 @@
 
 namespace TestWebKitAPI {
 
+static void waitUntilAudioSessionCategoryIsEqualTo(NSString *expectedValue)
+{
+    int tries = 0;
+    do {
+        if ([[[getAVAudioSessionClass() sharedInstance] category] isEqualToString:expectedValue])
+            return;
+        Util::sleep(0.1);
+    } while (++tries <= 100);
+}
+
 TEST(WebKitLegacy, AudioSessionCategoryIOS)
 {
     WebCore::DeprecatedGlobalSettings::setShouldManageAudioSessionCategory(true);
@@ -76,6 +86,7 @@
 
     Util::run(&didBeginPlaying);
 
+    waitUntilAudioSessionCategoryIsEqualTo(getAVAudioSessionCategoryPlayback());
     EXPECT_WK_STREQ(getAVAudioSessionCategoryPlayback(), [[getAVAudioSessionClass() sharedInstance] category]);
 
     didBeginPlaying = false;
@@ -84,6 +95,7 @@
 
     Util::run(&didBeginPlaying);
 
+    waitUntilAudioSessionCategoryIsEqualTo(getAVAudioSessionCategoryAmbient());
     EXPECT_WK_STREQ(getAVAudioSessionCategoryAmbient(), [[getAVAudioSessionClass() sharedInstance] category]);
 
     didBeginPlaying = false;
@@ -92,6 +104,7 @@
 
     Util::run(&didBeginPlaying);
 
+    waitUntilAudioSessionCategoryIsEqualTo(getAVAudioSessionCategoryAmbient());
     EXPECT_WK_STREQ(getAVAudioSessionCategoryAmbient(), [[getAVAudioSessionClass() sharedInstance] category]);
 
     didBeginPlaying = false;
@@ -100,6 +113,7 @@
 
     Util::run(&didBeginPlaying);
 
+    waitUntilAudioSessionCategoryIsEqualTo(getAVAudioSessionCategoryAmbient());
     EXPECT_WK_STREQ(getAVAudioSessionCategoryAmbient(), [[getAVAudioSessionClass() sharedInstance] category]);
 
     didBeginPlaying = false;
@@ -108,6 +122,7 @@
 
     Util::run(&didBeginPlaying);
 
+    waitUntilAudioSessionCategoryIsEqualTo(getAVAudioSessionCategoryAmbient());
     EXPECT_WK_STREQ(getAVAudioSessionCategoryAmbient(), [[getAVAudioSessionClass() sharedInstance] category]);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to