skia2/modules/skottie/BUILD.gn
Florin Malita 7806794543 [skottie] Initial audio layer plumbing
Looking at audio layer support for Skottie, we need an API to
externalize audio asset loading and playback.

Similar approach to the other resource types for loading, but in
addition we also delegate playback control to the embedder.

First thought: keep it really simple and just emit seek() events.
Positive |t|s for track playback, negative for track off.

The embedder needs to implement state menagement (playing/not-playing)
and optional synchronization (if animation playback is not real time).

Change-Id: I54d1c2c39d0c38dd926f7c93764bde6695cb3fe2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309317
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-12 13:03:16 +00:00

149 lines
3.0 KiB
Plaintext

# Copyright 2018 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("../../gn/skia.gni")
if (skia_enable_skottie) {
config("public_config") {
defines = [ "SK_ENABLE_SKOTTIE" ]
include_dirs = [ "include" ]
}
component("skottie") {
check_includes = false
import("skottie.gni")
public_configs = [ ":public_config" ]
public = skia_skottie_public
sources = skia_skottie_sources
configs += [ "../../:skia_private" ]
deps = [
"../..:skia",
"../skresources",
"../sksg",
"../skshaper",
]
}
if (defined(is_skia_standalone)) {
config("utils_config") {
include_dirs = [ "utils" ]
}
source_set("utils") {
check_includes = false
testonly = true
public_configs = [ ":utils_config" ]
configs += [ "../../:skia_private" ]
sources = [ "utils/SkottieUtils.cpp" ]
deps = [
":skottie",
"../..:skia",
]
}
if (skia_enable_tools) {
source_set("tests") {
testonly = true
configs += [
"../..:skia_private",
"../..:tests_config",
]
sources = [
"src/SkottieTest.cpp",
"tests/AudioLayer.cpp",
"tests/Keyframe.cpp",
]
deps = [
":skottie",
"../..:gpu_tool_utils",
"../..:skia",
"../skshaper",
]
}
source_set("fuzz") {
check_includes = false
testonly = true
configs += [ "../..:skia_private" ]
include_dirs = [
"../../tools",
"../../tools/flags",
"../../tools/fonts",
]
sources = [
"../../tools/Resources.cpp",
"../../tools/fonts/TestFontMgr.cpp",
"../../tools/fonts/TestSVGTypeface.cpp",
"../../tools/fonts/TestTypeface.cpp",
"fuzz/FuzzSkottieJSON.cpp",
]
deps = [
"../..:experimental_svg_model",
"../..:skia",
]
public_deps = [ ":skottie" ]
}
source_set("tool") {
check_includes = false
testonly = true
configs += [ "../..:skia_private" ]
sources = [ "src/SkottieTool.cpp" ]
deps = [
"../..:flags",
"../..:skia",
"../../experimental/ffmpeg:video_encoder",
]
public_deps = [
":skottie",
":utils",
]
}
source_set("gm") {
check_includes = false
testonly = true
# would be nice to have a gm_config
include_dirs = [ "../../gm" ]
configs += [ "../..:skia_private" ]
sources = [
"gm/ExternalProperties.cpp",
"gm/SkottieGM.cpp",
]
deps = [
":skottie",
":utils",
"../..:gpu_tool_utils",
"../..:skia",
"../..:tool_utils",
]
}
}
}
} else {
group("skottie") {
}
group("fuzz") {
}
group("gm") {
}
group("tests") {
}
group("utils") {
}
}