Index: LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html |
diff --git a/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html b/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html |
index 4bfa79aba862ff86cebcce268b7775f779a9f9f6..a5d466d10243939ccf7a73b01a1ff8f88950d78e 100644 |
--- a/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html |
+++ b/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html |
@@ -14,8 +14,8 @@ |
async_test(function(test) |
{ |
var video = document.getElementById('testVideo'); |
- var isSessionCreated = false; |
var isUpdatePromiseResolved = false; |
+ var encryptedEventCount = 0; |
var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14, 0xd2, 0x7b, |
0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4, 0xae, 0x3c]); |
@@ -26,11 +26,14 @@ |
assert_true(event instanceof window.MediaEncryptedEvent); |
assert_equals(event.type, 'encrypted'); |
- // The same decryption key is shared by all streams so |
- // only create a shared session once. |
- if (isSessionCreated) |
+ // The same decryption key is used by both the audio and |
+ // the video streams so only create a session once. To |
+ // avoid issues when comparing the expected.txt file |
+ // (which logs the events in the order they occur), create |
+ // the session on the second event. This also ensures we |
+ // see both events. |
+ if (++encryptedEventCount != 2) |
return; |
- isSessionCreated = true; |
var mediaKeySession = video.mediaKeys.createSession(); |
waitForEventAndRunStep('message', mediaKeySession, onMessage, test); |