<html>
    <!-- LayoutTests location is hard-coded to avoid duplication of code. -->
    <script src="http://svn.webkit.org/repository/webkit/trunk/LayoutTests/media/media-file.js"></script>
    <script>
        var vid;

        function canplaythrough()
        {
            vid.play();
        }

        function load()
        {
            vid = document.getElementById('vid');
            vid.addEventListener('canplaythrough', canplaythrough);

            // Mute first
            vid.muted = true;
            vid.src = "https://svn.webkit.org/repository/webkit/trunk/LayoutTests/media/content/audio-describes-video.mp4"
        }
    </script>

    <body>
        <video id=vid controls autoplay>
        </video>
        <p>TEST: Video should be muted (e.g., controls) and also produce no sound (<a href="https://bugs.webkit.org/show_bug.cgi?id=57673">bug 57673</a>).</p>
        <input type="button" value="Load movie" onclick="load()">
        <br>
    </body>

</html>
