From 4e3f164f7bd020b1aed453ec11586cafd84e1a5d Mon Sep 17 00:00:00 2001 From: Alan Jeffrey Date: Fri, 17 May 2019 14:50:08 -0500 Subject: Allow mach build to explicitly set the media stack You can select the media backend by building as follows: $ ./mach build -d --media-stack=dummy or $ ./mach build -d --media-stack=gstreamer --- python/servo/build_commands.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'python') diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index d4ac8d98b68..fc5cf912a52 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -155,6 +155,10 @@ class MachCommands(CommandBase): @CommandArgument('--jobs', '-j', default=None, help='Number of jobs to run in parallel') + @CommandArgument('--media-stack', + default=None, + choices=["gstreamer", "dummy"], + help='Which media stack to use') @CommandArgument('--no-package', action='store_true', help='For Android, disable packaging into a .apk after building') @@ -171,7 +175,7 @@ class MachCommands(CommandBase): @CommandArgument('params', nargs='...', help="Command-line arguments to be passed through to Cargo") @CommandBase.build_like_command_arguments - def build(self, release=False, dev=False, jobs=None, params=None, + def build(self, release=False, dev=False, jobs=None, params=None, media_stack=None, no_package=False, verbose=False, very_verbose=False, target=None, android=False, magicleap=False, libsimpleservo=False, features=None, uwp=False, win_arm64=False, **kwargs): @@ -191,6 +195,19 @@ class MachCommands(CommandBase): if not uwp: uwp = target and 'uwp' in target + # A guess about which platforms should use the gstreamer media stack + if not(media_stack): + if ( + not(target) or + ("armv7" in target and "android" in target) or + ("x86_64" in target) + ): + media_stack = "gstreamer" + else: + media_stack = "dummy" + + features += ["media-" + media_stack] + target_path = base_path = self.get_target_dir() if android: target_path = path.join(target_path, "android") -- cgit v1.2.3