| # Copyright 2026 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| import("../../webrtc.gni") |
| |
| group("sframe") { |
| deps = [ |
| ":sframe_context_factory", |
| ":sframe_decrypt_error_reporter", |
| ":sframe_decryptor", |
| ":sframe_encryptor", |
| ":sframe_media_decryptor_interface", |
| ":sframe_media_encryptor_interface", |
| ] |
| } |
| |
| rtc_library("sframe_context_factory") { |
| visibility = [ ":*" ] |
| sources = [ |
| "sframe_context_factory.cc", |
| "sframe_context_factory.h", |
| ] |
| deps = [ |
| "../../api:sframe_types", |
| "//third_party/abseil-cpp/absl/base:nullability", |
| "//third_party/sframe", |
| ] |
| } |
| |
| rtc_library("sframe_media_encryptor_interface") { |
| visibility = [ "*" ] |
| sources = [ "sframe_media_encryptor_interface.h" ] |
| deps = [ |
| "../../api:rtc_error", |
| "../../api:sframe_encryptor_interface", |
| "../../api:sframe_types", |
| ] |
| } |
| |
| rtc_library("sframe_decrypt_error_reporter") { |
| visibility = [ "*" ] |
| sources = [ |
| "sframe_decrypt_error_reporter.cc", |
| "sframe_decrypt_error_reporter.h", |
| ] |
| deps = [ |
| "../../api:sequence_checker", |
| "../../api:sframe_decryptor_interface", |
| "../../rtc_base:macromagic", |
| "../../rtc_base/system:no_unique_address", |
| ] |
| } |
| |
| rtc_library("sframe_encryptor") { |
| visibility = [ "*" ] |
| sources = [ |
| "sframe_encryptor.cc", |
| "sframe_encryptor.h", |
| ] |
| deps = [ |
| ":sframe_context_factory", |
| ":sframe_media_encryptor_interface", |
| "../../api:make_ref_counted", |
| "../../api:rtc_error", |
| "../../api:scoped_refptr", |
| "../../api:sequence_checker", |
| "../../api:sframe_types", |
| "../../rtc_base:macromagic", |
| "../../rtc_base/system:no_unique_address", |
| "//third_party/abseil-cpp/absl/base:nullability", |
| "//third_party/sframe", |
| ] |
| } |
| |
| rtc_library("sframe_media_decryptor_interface") { |
| visibility = [ "*" ] |
| sources = [ "sframe_media_decryptor_interface.h" ] |
| deps = [ "../../api:sframe_decryptor_interface" ] |
| } |
| |
| rtc_library("sframe_decryptor") { |
| visibility = [ "*" ] |
| sources = [ |
| "sframe_decryptor.cc", |
| "sframe_decryptor.h", |
| ] |
| deps = [ |
| ":sframe_context_factory", |
| ":sframe_media_decryptor_interface", |
| "../../api:make_ref_counted", |
| "../../api:rtc_error", |
| "../../api:scoped_refptr", |
| "../../api:sequence_checker", |
| "../../api:sframe_decryptor_interface", |
| "../../api:sframe_types", |
| "../../rtc_base:checks", |
| "../../rtc_base:macromagic", |
| "../../rtc_base/system:no_unique_address", |
| "//third_party/abseil-cpp/absl/base:nullability", |
| "//third_party/sframe", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_cc_test("sframe_decrypt_error_reporter_unittest") { |
| sources = [ "sframe_decrypt_error_reporter_unittest.cc" ] |
| deps = [ |
| ":sframe_decrypt_error_reporter", |
| "../../api:frame_transformer_interface", |
| "../../api:mock_transformable_frame", |
| "../../api:sframe_decryptor_interface", |
| "../../test:test_support", |
| ] |
| } |
| |
| rtc_cc_test("sframe_encryptor_decryptor_unittest") { |
| sources = [ "sframe_encryptor_decryptor_unittest.cc" ] |
| deps = [ |
| ":sframe_decryptor", |
| ":sframe_encryptor", |
| ":sframe_media_decryptor_interface", |
| "../../api:rtc_error", |
| "../../api:scoped_refptr", |
| "../../api:sframe_decryptor_interface", |
| "../../api:sframe_types", |
| "../../test:test_support", |
| ] |
| } |
| } |