// // Copyright (C) 2020 The Android Open Source Project // // 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. package { default_applicable_licenses: ["Android-Apache-2.0"], } cc_library_static { name: "libcuttlefish_webrtc", srcs: [ "lib/audio_device.cpp", "lib/audio_track_source_impl.cpp", "lib/camera_streamer.cpp", "lib/client_handler.cpp", "lib/keyboard.cpp", "lib/local_recorder.cpp", "lib/port_range_socket_factory.cpp", "lib/streamer.cpp", "lib/utils.cpp", "lib/video_track_source_impl.cpp", "lib/vp8only_encoder_factory.cpp", "lib/server_connection.cpp", ], cflags: [ // libwebrtc headers need this "-Wno-unused-parameter", "-DWEBRTC_POSIX", "-DWEBRTC_LINUX", ], header_libs: [ "webrtc_signaling_headers", "libwebrtc_absl_headers", ], static_libs: [ "libsrtp2", "libcuttlefish_host_config", "libcuttlefish_screen_connector", "libcuttlefish_wayland_server", "libgflags", "libdrm", "libffi", "libwayland_crosvm_gpu_display_extension_server_protocols", "libwayland_extension_server_protocols", "libwayland_server", "libwebsockets", "libcap", "libcuttlefish_utils", "libwebrtc", "libwebrtc_absl_base", "libwebrtc_absl_types", ], shared_libs: [ "libbase", "libcn-cbor", "libcuttlefish_fs", "libfruit", "libjsoncpp", "libssl", "libwebm_mkvmuxer", ], defaults: ["cuttlefish_buildhost_only"], } cc_binary_host { name: "webRTC", srcs: [ "adb_handler.cpp", "audio_handler.cpp", "bluetooth_handler.cpp", "client_server.cpp", "connection_observer.cpp", "cvd_video_frame_buffer.cpp", "display_handler.cpp", "kernel_log_events_handler.cpp", "main.cpp", ], header_libs: [ "webrtc_signaling_headers", "libwebrtc_absl_headers", "libcuttlefish_confui_host_headers", ], static_libs: [ "libwebrtc_absl_base", "libwebrtc_absl_container", "libwebrtc_absl_debugging", "libwebrtc_absl_flags", "libwebrtc_absl_hash", "libwebrtc_absl_numeric", "libwebrtc_absl_status", "libwebrtc_absl_strings", "libwebrtc_absl_synchronization", "libwebrtc_absl_time", "libwebrtc_absl_types", "libaom", "libcap", "libcn-cbor", "libcuttlefish_audio_connector", "libcuttlefish_confui", "libcuttlefish_confui_host", "libcuttlefish_host_config", "libcuttlefish_security", "libcuttlefish_screen_connector", "libcuttlefish_utils", "libcuttlefish_wayland_server", "libft2.nodep", "libteeui", "libteeui_localization", "libdrm", "libevent", "libffi", "libgflags", "libopus", "libsrtp2", "libvpx", "libwayland_crosvm_gpu_display_extension_server_protocols", "libwayland_extension_server_protocols", "libwayland_server", "libwebrtc", "libcuttlefish_webrtc", "libwebsockets", "libyuv", ], shared_libs: [ "libext2_blkid", "android.hardware.keymaster@4.0", "libbase", "libcrypto", "libcuttlefish_fs", "libcuttlefish_kernel_log_monitor_utils", "libjsoncpp", "libfruit", "libopus", "libssl", "libvpx", "libyuv", "libwebm_mkvmuxer", ], defaults: ["cuttlefish_buildhost_only"], } prebuilt_usr_share_host { name: "webrtc_client.html", src: "client/client.html", filename: "client.html", sub_dir: "webrtc/assets", } prebuilt_usr_share_host { name: "webrtc_style.css", src: "client/style.css", filename: "style.css", sub_dir: "webrtc/assets", } prebuilt_usr_share_host { name: "webrtc_controls.css", src: "client/controls.css", filename: "controls.css", sub_dir: "webrtc/assets", } prebuilt_usr_share_host { name: "webrtc_adb.js", src: "client/js/adb.js", filename: "adb.js", sub_dir: "webrtc/assets/js", } prebuilt_usr_share_host { name: "webrtc_cf.js", src: "client/js/cf_webrtc.js", filename: "cf_webrtc.js", sub_dir: "webrtc/assets/js", } prebuilt_usr_share_host { name: "webrtc_app.js", src: "client/js/app.js", filename: "app.js", sub_dir: "webrtc/assets/js", } prebuilt_usr_share_host { name: "webrtc_controls.js", src: "client/js/controls.js", filename: "controls.js", sub_dir: "webrtc/assets/js", } prebuilt_usr_share_host { name: "webrtc_rootcanal.js", src: "client/js/rootcanal.js", filename: "rootcanal.js", sub_dir: "webrtc/assets/js", }