| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| |
| <script src=../media-file.js></script> |
| <script src=../video-test.js></script> |
| <script> |
| |
| var addtrackEventCount = 0; |
| |
| function trackAdded(event) |
| { |
| consoleWrite("EVENT(" + event.type + ")"); |
| compareTracks("event.track", "video.textTracks[" + addtrackEventCount + "]"); |
| ++addtrackEventCount; |
| consoleWrite(""); |
| } |
| |
| function compareTracks(track1, track2) |
| { |
| var equal = (eval(track1) == eval(track2)); |
| reportExpected(equal, track1, "==", track2, track1); |
| } |
| |
| function canplaythrough() |
| { |
| consoleWrite("<br><i>** Check initial in-band track states<" + "/i>"); |
| testExpected("video.textTracks.length", 4); |
| run("inbandTrack1 = video.textTracks[0]"); |
| run("inbandTrack2 = video.textTracks[1]"); |
| run("inbandTrack3 = video.textTracks[2]"); |
| run("inbandTrack4 = video.textTracks[3]"); |
| |
| testExpected("inbandTrack1.language", "en"); |
| testExpected("inbandTrack1.kind", "subtitles"); |
| |
| testExpected("inbandTrack2.language", "en"); |
| testExpected("inbandTrack2.kind", "forced"); |
| |
| testExpected("inbandTrack3.language", "fr"); |
| testExpected("inbandTrack3.kind", "subtitles"); |
| |
| testExpected("inbandTrack4.language", "fr"); |
| testExpected("inbandTrack4.kind", "forced"); |
| |
| consoleWrite("<br><i>** Add two tracks, check sort order<" + "/i>"); |
| run("addTrack = video.addTextTrack('captions', 'Caption Track', 'en')"); |
| run("trackElement = document.createElement('track')"); |
| trackElement.label = '<track>'; |
| run("video.appendChild(trackElement)"); |
| testExpected("video.textTracks.length", 6); |
| |
| compareTracks("video.textTracks[0]", "trackElement.track"); |
| compareTracks("video.textTracks[1]", "addTrack"); |
| compareTracks("video.textTracks[2]", "inbandTrack1"); |
| compareTracks("video.textTracks[3]", "inbandTrack2"); |
| |
| consoleWrite("<br><i>** Unload video file, check track count<" + "/i>"); |
| run("video.src = ''"); |
| testExpected("video.textTracks.length", 2); |
| |
| consoleWrite(""); |
| endTest(); |
| } |
| |
| function setup() |
| { |
| findMediaElement(); |
| video.textTracks.addEventListener("addtrack", trackAdded); |
| video.src = '../content/counting-subtitled.m4v'; |
| waitForEvent('canplaythrough', canplaythrough); |
| } |
| |
| </script> |
| </head> |
| <body onload="setup()"> |
| <video controls></video> |
| <p>In-band text tracks.</p> |
| </body> |
| </html> |