mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 22:36:09 +03:00
295 lines
6.5 KiB
Plaintext
295 lines
6.5 KiB
Plaintext
# Copyright 2015 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//build/buildflag_header.gni")
|
|
import("//build/config/chromecast_build.gni")
|
|
import("//chromecast/chromecast.gni")
|
|
import("//media/media_options.gni")
|
|
|
|
declare_args() {
|
|
system_owns_volume =
|
|
use_alsa && !enable_assistant && chromecast_branding != "google"
|
|
}
|
|
|
|
cast_source_set("backend") {
|
|
sources = [
|
|
"audio_decoder_software_wrapper.cc",
|
|
"audio_decoder_software_wrapper.h",
|
|
"audio_decoder_wrapper.cc",
|
|
"audio_decoder_wrapper.h",
|
|
"cma_backend.h",
|
|
"cma_backend_factory.h",
|
|
"cma_backend_factory_impl.cc",
|
|
"cma_backend_factory_impl.h",
|
|
"media_pipeline_backend_manager.cc",
|
|
"media_pipeline_backend_manager.h",
|
|
"media_pipeline_backend_wrapper.cc",
|
|
"media_pipeline_backend_wrapper.h",
|
|
"video_decoder_wrapper.cc",
|
|
"video_decoder_wrapper.h",
|
|
]
|
|
|
|
public_deps = [
|
|
"//chromecast/public",
|
|
"//chromecast/public/media",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//chromecast:chromecast_buildflags",
|
|
"//chromecast/base/metrics:metrics",
|
|
"//chromecast/media:libcast_media",
|
|
"//chromecast/media/cma/base",
|
|
"//chromecast/media/cma/decoder",
|
|
]
|
|
}
|
|
|
|
cast_source_set("cast_media_android_dummy") {
|
|
sources = [
|
|
"cast_media_android_dummy.cc",
|
|
]
|
|
deps = [
|
|
"//base",
|
|
"//chromecast:chromecast_buildflags",
|
|
"//chromecast/public",
|
|
"//chromecast/public/media",
|
|
]
|
|
}
|
|
|
|
# Target for OEM partners to override media shared library, i.e.
|
|
# libcast_media_1.0.so. This target is only used to build executables
|
|
# with correct linkage information.
|
|
cast_shared_library("libcast_media_1.0") {
|
|
if (is_cast_desktop_build) {
|
|
deps = [
|
|
"//chromecast/media/cma/backend/desktop",
|
|
]
|
|
} else {
|
|
deps = [
|
|
":dummy",
|
|
]
|
|
}
|
|
}
|
|
|
|
# Dummy implementation of media backend used on chromecast devices.
|
|
# Must not depend on anything outside //chromecast/public.
|
|
cast_source_set("dummy") {
|
|
sources = [
|
|
"cast_media_dummy.cc",
|
|
]
|
|
|
|
deps = [
|
|
"//chromecast/public",
|
|
]
|
|
}
|
|
|
|
buildflag_header("audio_buildflags") {
|
|
header = "audio_buildflags.h"
|
|
|
|
flags = [
|
|
"MEDIA_CLOCK_MONOTONIC_RAW=$media_clock_monotonic_raw",
|
|
"SYSTEM_OWNS_VOLUME=$system_owns_volume",
|
|
]
|
|
}
|
|
|
|
# Implementation of video decoder that discards decoder buffers.
|
|
# Used on audio platforms for media streams containing video.
|
|
cast_source_set("null_video") {
|
|
sources = [
|
|
"video_decoder_null.cc",
|
|
"video_decoder_null.h",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//chromecast/public/media",
|
|
]
|
|
}
|
|
|
|
cast_source_set("public") {
|
|
sources = [
|
|
"system_volume_control.h",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//chromecast/public/media",
|
|
]
|
|
}
|
|
|
|
cast_source_set("audio_helpers") {
|
|
sources = [
|
|
"audio_fader.cc",
|
|
"audio_fader.h",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//media",
|
|
]
|
|
}
|
|
|
|
cast_source_set("av_sync_dummy") {
|
|
sources = [
|
|
"av_sync_dummy.cc",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//chromecast/public",
|
|
]
|
|
}
|
|
|
|
cast_source_set("audio_codec_support") {
|
|
sources = [
|
|
"media_codec_support_cast_audio.cc",
|
|
]
|
|
deps = [
|
|
"//base",
|
|
"//chromecast/public",
|
|
"//chromecast/public/media:media",
|
|
]
|
|
}
|
|
|
|
cast_source_set("cast_audio_json") {
|
|
sources = [
|
|
"cast_audio_json.cc",
|
|
"cast_audio_json.h",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
]
|
|
}
|
|
|
|
cast_source_set("post_processor_factory") {
|
|
sources = [
|
|
"post_processor_factory.cc",
|
|
"post_processor_factory.h",
|
|
]
|
|
|
|
deps = [
|
|
"//base",
|
|
"//chromecast/media/cma/backend/post_processors:post_processor_wrapper",
|
|
"//chromecast/public/media",
|
|
]
|
|
}
|
|
|
|
cast_source_set("for_mixer_audio") {
|
|
sources = [
|
|
"audio_decoder_for_mixer.cc",
|
|
"audio_decoder_for_mixer.h",
|
|
"audio_output_redirector.cc",
|
|
"audio_output_redirector.h",
|
|
"buffering_mixer_source.cc",
|
|
"buffering_mixer_source.h",
|
|
"cast_media_shlib_mixer_audio.cc",
|
|
"direct_mixer_source.cc",
|
|
"direct_mixer_source.h",
|
|
"filter_group.cc",
|
|
"filter_group.h",
|
|
"media_pipeline_backend_for_mixer.cc",
|
|
"media_pipeline_backend_for_mixer.h",
|
|
"mixer_input.cc",
|
|
"mixer_input.h",
|
|
"post_processing_pipeline.h",
|
|
"post_processing_pipeline_impl.cc",
|
|
"post_processing_pipeline_impl.h",
|
|
"post_processing_pipeline_parser.cc",
|
|
"post_processing_pipeline_parser.h",
|
|
"stream_mixer.cc",
|
|
"stream_mixer.h",
|
|
"volume_control.cc",
|
|
"volume_map.cc",
|
|
"volume_map.h",
|
|
]
|
|
|
|
deps = [
|
|
":audio_buildflags",
|
|
":audio_helpers",
|
|
":cast_audio_json",
|
|
":post_processor_factory",
|
|
":public",
|
|
"//base",
|
|
"//chromecast/base",
|
|
"//chromecast/media/audio:libcast_external_audio_pipeline_1.0",
|
|
"//chromecast/media/base",
|
|
"//chromecast/media/cma/base",
|
|
"//chromecast/media/cma/decoder",
|
|
"//chromecast/public",
|
|
"//chromecast/public/media",
|
|
"//media",
|
|
"//media:shared_memory_support",
|
|
]
|
|
|
|
if (use_alsa) {
|
|
deps += [ "alsa:cma_backend_support" ]
|
|
} else if (is_fuchsia) {
|
|
deps += [ "fuchsia:cma_backend_support" ]
|
|
} else {
|
|
# If enable_video_with_mixed_audio && !use_alsa, the platform needs to
|
|
# provide its own mixer output.
|
|
if (!enable_video_with_mixed_audio) {
|
|
sources += [ "mixer_output_stream_dummy.cc" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
test("cast_audio_backend_unittests") {
|
|
testonly = true
|
|
sources = [
|
|
"audio_fader_unittest.cc",
|
|
"filter_group_unittest.cc",
|
|
"mock_mixer_source.cc",
|
|
"mock_mixer_source.h",
|
|
"mock_redirected_audio_output.cc",
|
|
"mock_redirected_audio_output.h",
|
|
"stream_mixer_unittest.cc",
|
|
]
|
|
|
|
deps = [
|
|
":audio_helpers",
|
|
":av_sync_dummy",
|
|
":for_mixer_audio",
|
|
":null_video",
|
|
":public",
|
|
"//base",
|
|
"//base/test:run_all_unittests",
|
|
"//chromecast/media/cma/backend/post_processors:unittests",
|
|
"//chromecast/public",
|
|
"//chromecast/public/media",
|
|
"//media",
|
|
"//media:shared_memory_support",
|
|
"//testing/gmock",
|
|
"//testing/gtest",
|
|
]
|
|
|
|
if (is_fuchsia) {
|
|
deps += [ "fuchsia:unit_tests" ]
|
|
}
|
|
}
|
|
|
|
test("cast_av_sync_backend_unittests") {
|
|
testonly = true
|
|
sources = [
|
|
"av_sync_unittest.cc",
|
|
"mock_audio_decoder_for_mixer.cc",
|
|
"mock_audio_decoder_for_mixer.h",
|
|
"mock_video_decoder_for_mixer.cc",
|
|
"mock_video_decoder_for_mixer.h",
|
|
]
|
|
|
|
deps = [
|
|
":for_mixer_audio",
|
|
"//base",
|
|
"//base/test:run_all_unittests",
|
|
"//base/test:test_support",
|
|
"//chromecast/base",
|
|
"//chromecast/media/cma/backend/video:av_sync_video",
|
|
"//chromecast/public/media",
|
|
"//testing/gmock",
|
|
"//testing/gtest",
|
|
]
|
|
}
|