# Copyright 2022 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

config("media_config") {
  if (is_win) {
    cflags = [
      "/wd4267",  # Conversion from 'size_t' to 'type', possible loss of data.
      "/wd4715",  # Not all control paths return a value.
      # Conversion from 'size_t' to 'int' requires a narrowing conversion.
      "/wd4838",
    ]
  } else {
    cflags_cc = [
      "-Wno-conversion",
      "-Wno-unused-parameter",
      "-Wno-unused-variable",
    ]
  }

  defines = [ "MEDIA_IMPLEMENTATION" ]
}

config("media_config_public") {
  # TODO: Make include_dirs other than the first one private.
  include_dirs = [ "..", "cobalt", "../../skia" ]
}

config("external_config") {
  include_dirs = [ "..", "cobalt", "../../skia"  ]
}

component("media") {
  sources = [
    "base/audio_codecs.cc",
    "base/audio_codecs.h",
    "base/audio_decoder_config.cc",
    "base/audio_decoder_config.h",
    "base/audio_timestamp_helper.cc",
    "base/audio_timestamp_helper.h",
    "base/bit_reader.cc",
    "base/bit_reader.h",
    "base/bit_reader_core.cc",
    "base/bit_reader_core.h",
    "base/byte_queue.cc",
    "base/byte_queue.h",
    "base/channel_layout.cc",
    "base/channel_layout.h",
    "base/decoder_buffer.cc",
    "base/decoder_buffer.h",
    "base/decrypt_config.cc",
    "base/decrypt_config.h",
    "base/demuxer.cc",
    "base/demuxer.h",
    "base/demuxer_memory_limit_starboard.cc",
    "base/demuxer_stream.cc",
    "base/demuxer_stream.h",
    "base/demuxer_memory_limit.h",
    "base/encryption_pattern.cc",
    "base/encryption_pattern.h",
    "base/encryption_scheme.cc",
    "base/encryption_scheme.h",
    "base/media_log.h",
    "base/media_resource.cc",
    "base/media_resource.h",
    "base/media_track.cc",
    "base/media_track.h",
    "base/media_tracks.cc",
    "base/media_tracks.h",
    "base/media_util.cc",
    "base/media_util.h",
    "base/media_url_params.cc",
    "base/media_url_params.h",
    "base/mime_util.cc",
    "base/mime_util.h",
    "base/mime_util_internal.cc",
    "base/mime_util_internal.h",
    "base/pipeline_status.cc",
    "base/pipeline_status.h",
    "base/ranges.cc",
    "base/ranges.h",
    "base/sample_format.cc",
    "base/sample_format.h",
    "base/starboard_utils.cc",
    "base/starboard_utils.h",
    "base/stream_parser.cc",
    "base/stream_parser.h",
    "base/stream_parser_buffer.cc",
    "base/stream_parser_buffer.h",
    "base/supported_types.cc",
    "base/supported_types.h",
    "base/text_track_config.cc",
    "base/text_track_config.h",
    "base/video_aspect_ratio.cc",
    "base/video_aspect_ratio.h",
    "base/video_color_space.cc",
    "base/video_color_space.h",
    "base/video_codecs.cc",
    "base/video_codecs.h",
    "base/video_decoder_config.cc",
    "base/video_decoder_config.h",
    "base/video_transformation.cc",
    "base/video_transformation.h",
    "filters/chunk_demuxer.cc",
    "filters/chunk_demuxer.h",
    "filters/frame_processor.cc",
    "filters/frame_processor.h",
    "filters/h264_bitstream_buffer.cc",
    "filters/h264_bitstream_buffer.h",
    "filters/h264_to_annex_b_bitstream_converter.cc",
    "filters/h264_to_annex_b_bitstream_converter.h",
    "filters/source_buffer_range.cc",
    "filters/source_buffer_range.h",
    "filters/source_buffer_state.cc",
    "filters/source_buffer_state.h",
    "filters/source_buffer_stream.cc",
    "filters/source_buffer_stream.h",
    "filters/stream_parser_factory.cc",
    "filters/stream_parser_factory.h",
    "formats/common/offset_byte_queue.cc",
    "formats/common/offset_byte_queue.h",
    "formats/mp4/aac.cc",
    "formats/mp4/aac.h",
    "formats/mp4/avc.cc",
    "formats/mp4/avc.h",
    "formats/mp4/bitstream_converter.cc",
    "formats/mp4/bitstream_converter.h",
    "formats/mp4/box_definitions.cc",
    "formats/mp4/box_definitions.h",
    "formats/mp4/box_reader.cc",
    "formats/mp4/box_reader.h",
    "formats/mp4/dolby_vision.cc",
    "formats/mp4/dolby_vision.h",
    "formats/mp4/es_descriptor.cc",
    "formats/mp4/es_descriptor.h",
    "formats/mp4/fourccs.h",
    "formats/mp4/hevc.cc",
    "formats/mp4/hevc.h",
    "formats/mp4/mp4_stream_parser.cc",
    "formats/mp4/mp4_stream_parser.h",
    "formats/mp4/rcheck.h",
    "formats/mp4/sample_to_group_iterator.cc",
    "formats/mp4/sample_to_group_iterator.h",
    "formats/mp4/track_run_iterator.cc",
    "formats/mp4/track_run_iterator.h",
    "formats/mpeg/adts_constants.cc",
    "formats/mpeg/adts_constants.h",
    "formats/mpeg/adts_stream_parser.cc",
    "formats/mpeg/adts_stream_parser.h",
    "formats/mpeg/mpeg1_audio_stream_parser.cc",
    "formats/mpeg/mpeg1_audio_stream_parser.h",
    "formats/mpeg/mpeg_audio_stream_parser_base.cc",
    "formats/mpeg/mpeg_audio_stream_parser_base.h",
    "formats/webcodecs/webcodecs_encoded_chunk_stream_parser.cc",
    "formats/webcodecs/webcodecs_encoded_chunk_stream_parser.h",
    "formats/webm/webm_audio_client.cc",
    "formats/webm/webm_audio_client.h",
    "formats/webm/webm_cluster_parser.cc",
    "formats/webm/webm_cluster_parser.h",
    "formats/webm/webm_colour_parser.cc",
    "formats/webm/webm_colour_parser.h",
    "formats/webm/webm_constants.cc",
    "formats/webm/webm_constants.h",
    "formats/webm/webm_content_encodings.cc",
    "formats/webm/webm_content_encodings.h",
    "formats/webm/webm_content_encodings_client.cc",
    "formats/webm/webm_content_encodings_client.h",
    "formats/webm/webm_crypto_helpers.cc",
    "formats/webm/webm_crypto_helpers.h",
    "formats/webm/webm_info_parser.cc",
    "formats/webm/webm_info_parser.h",
    "formats/webm/webm_parser.cc",
    "formats/webm/webm_parser.h",
    "formats/webm/webm_projection_parser.cc",
    "formats/webm/webm_projection_parser.h",
    "formats/webm/webm_stream_parser.cc",
    "formats/webm/webm_stream_parser.h",
    "formats/webm/webm_tracks_parser.cc",
    "formats/webm/webm_tracks_parser.h",
    "formats/webm/webm_video_client.cc",
    "formats/webm/webm_video_client.h",
    "formats/webm/webm_webvtt_parser.cc",
    "formats/webm/webm_webvtt_parser.h",
    "video/h264_bit_reader.cc",
    "video/h264_bit_reader.h",
    "video/h264_parser.cc",
    "video/h264_parser.h",
    "video/h265_nalu_parser.cc",
    "video/h265_nalu_parser.h",
    "video/h265_parser.cc",
    "video/h265_parser.h",
  ]

  sources += [
    "cobalt/third_party/abseil-cpp/absl/types/optional.h",
    "cobalt/ui/gfx/geometry/point3_f.h",
    "cobalt/ui/gfx/geometry/point_base.h",
    "cobalt/ui/gfx/geometry/rect.h",
    "cobalt/ui/gfx/geometry/size_base.h",
    "cobalt/ui/gfx/geometry/rect_base_impl.h",
    "cobalt/ui/gfx/geometry/vector2d_f.h",
    "cobalt/ui/gfx/geometry/rect_base.h",
    "cobalt/ui/gfx/geometry/size_f.h",
    "cobalt/ui/gfx/geometry/point_f.cc",
    "cobalt/ui/gfx/geometry/point_f.h",
    "cobalt/ui/gfx/geometry/point.cc",
    "cobalt/ui/gfx/geometry/point.h",
    "cobalt/ui/gfx/geometry/size.h",
    "cobalt/ui/gfx/geometry/vector2d.h",
    "cobalt/ui/gfx/color_space_export.h",
    "cobalt/ui/gfx/hdr_metadata.h",
    "cobalt/ui/gfx/native_pixmap_handle.h",
    #"cobalt/ui/gfx/hdr_metadata.cc",
    "cobalt/ui/gfx/color_space.h",
    "cobalt/base/notreached.h",
    "cobalt/base/cxx17_backports.h",
    "cobalt/base/bind_post_task.h",
    "cobalt/base/check.h",
    "cobalt/base/types/strong_alias.h",
    "cobalt/base/hash/md5.h",
    "cobalt/base/check_op.h",
    "cobalt/net/cookies/site_for_cookies.h",
  ]

  configs -= [ "//starboard/build/config:size" ]
  configs += [
    "//starboard/build/config:speed",
    ":media_config",
  ]

  public_configs = [ ":media_config_public" ]

  all_dependent_configs = [ ":external_config" ]

  deps = [
    "//base",
    "//build:chromecast_buildflags",
    "//build:chromeos_buildflags",
    "//net",
    "//starboard",
    "//url",
  ]
}

target(gtest_target_type, "chromium_media_test") {
  testonly = true

  sources = [
    "base/starboard_utils_test.cc",
    "test/run_all_unittests.cc",
  ]

  configs -= [ "//starboard/build/config:size" ]
  configs += [ "//starboard/build/config:speed" ]

  deps = [
    ":media",
    "//base",
    "//base/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
