Revert of Roll src/third_party/WebKit e0eac24:489c548 (svn 193311:193320) (patchset...
[chromium-blink-merge.git] / media / mojo / scripts / run_mojo_media_renderer.py
blob6ca34dc9dbdb6a59a3ff64d555e23f648825c46c
1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 # The script follows mojo/services/html_viewer/view_url.py and modified it for
7 # test the mojo media renderer. The page will be rendered in a headless mode.
9 # TODO(xhwang): Explore the possibility of running this with the Kiosk window
10 # manager. See http://crbug.com/467176
12 import argparse
13 import os
14 import subprocess
15 import sys
17 root_path = os.path.realpath(
18 os.path.join(
19 os.path.dirname(
20 os.path.realpath(__file__)),
21 os.pardir,
22 os.pardir,
23 os.pardir))
25 def _BuildShellCommand(args):
26 sdk_version = subprocess.check_output(["cat",
27 "third_party/mojo/src/mojo/public/VERSION"], cwd=root_path)
28 build_dir = os.path.join(root_path, args.build_dir)
30 shell_command = [os.path.join(build_dir, "mojo_shell")]
32 options = []
34 options.append(
35 "--origin=https://storage.googleapis.com/mojo/services/linux-x64/%s" %
36 sdk_version)
37 options.append("--url-mappings=mojo:html_viewer=file://%s/html_viewer.mojo,"
38 "mojo:media=file://%s/media.mojo" % (build_dir, build_dir))
40 args_for_html_viewer = "--enable-mojo-media-renderer --is-headless "
41 if args.verbose:
42 args_for_html_viewer += \
43 "--vmodule=pipeline*=3,*renderer_impl*=3,*mojo_demuxer*=3"
44 options.append("--args-for=mojo:html_viewer %s" % args_for_html_viewer)
46 if args.verbose:
47 args_for_media = "--vmodule=mojo*service=3"
48 options.append("--args-for=mojo:media %s" % args_for_media)
50 full_command = shell_command + options + [args.url]
52 if args.verbose:
53 print full_command
55 return full_command
57 def main():
58 parser = argparse.ArgumentParser(
59 description="View a URL with HTMLViewer with mojo media renderer. "
60 "You must have built //mojo/services/html_viewer, "
61 "//mojo/services/network and //media/mojo/services first. "
62 " Note that this will currently often fail spectacularly due "
63 " to lack of binary stability in Mojo.")
64 parser.add_argument(
65 "--build-dir",
66 help="Path to the dir containing the linux-x64 binaries relative to the "
67 "repo root (default: %(default)s)",
68 default="out/Release")
69 parser.add_argument("--verbose", help="Increase output verbosity.",
70 action="store_true")
71 parser.add_argument("url",
72 help="The URL to be viewed")
74 args = parser.parse_args()
75 return subprocess.call(_BuildShellCommand(args))
77 if __name__ == '__main__':
78 sys.exit(main())