| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # |
| # Template used to define a profile target. Features included in the profile |
| # are specified using deps from //src/media/lib/ffmpeg/features. For example: |
| # |
| # ffmpeg_profile("my_profile") { |
| # deps = [ |
| # "//src/media/lib/ffmpeg/features:enable_decoder_mp3", |
| # "//src/media/lib/ffmpeg/features:enable_decoder_h264", |
| # ] |
| # } |
| # |
| template("ffmpeg_profile") { |
| assert(defined(invoker.deps), |
| "Need deps in $target_name listing the required features.") |
| |
| args_file_name = target_name + "_args" |
| |
| generated_file(args_file_name) { |
| outputs = [ "$target_gen_dir/$args_file_name" ] |
| data_keys = [ "ffmpeg_profile_arg" ] |
| walk_keys = [] |
| deps = invoker.deps |
| } |
| |
| group(target_name) { |
| args_dep = ":$args_file_name" |
| get_target_outputs(args_dep) |
| |
| metadata = { |
| ffmpeg_profile_set_entry = |
| [ rebase_path("$target_gen_dir/$args_file_name") ] |
| } |
| } |
| } |
| |
| # |
| # Template used to define a profile set. Profiles included in the profile set |
| # are specified using deps. Every dep must be an "ffmpeg_profile" target. |
| # |
| template("ffmpeg_profile_set") { |
| assert(defined(invoker.deps), |
| "Need deps in $target_name listing the profiles in the set.") |
| |
| set_file_name = target_name + "_ffmpeg_profile_set" |
| |
| generated_file(set_file_name) { |
| outputs = [ "$target_gen_dir/$set_file_name" ] |
| data_keys = [ "ffmpeg_profile_set_entry" ] |
| walk_keys = [] |
| deps = invoker.deps |
| } |
| |
| group(target_name) { |
| set_dep = ":$set_file_name" |
| get_target_outputs(set_dep) |
| } |
| } |