# Copyright (c) 2014 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("../../build/webrtc.gni") source_set("video_render") { sources = [ "external/video_render_external_impl.cc", "external/video_render_external_impl.h", "i_video_render.h", "include/video_render.h", "include/video_render_defines.h", "incoming_video_stream.cc", "incoming_video_stream.h", "video_render_frames.cc", "video_render_frames.h", "video_render_impl.h", ] deps = [ "../../common_video", "../../system_wrappers", "../utility", ] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } } source_set("video_render_impl") { sources = [ "video_render_impl.cc", ] deps = [ ":video_render", "../../system_wrappers", ] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } } config("video_render_internal_impl_config") { if (is_ios) { libs = [ "OpenGLES.framework", "QuartzCore.framework", ] } } source_set("video_render_internal_impl") { libs = [] sources = [ "video_render_internal_impl.cc", ] deps = [ ":video_render", "../../system_wrappers", ] if (is_linux) { sources += [ "linux/video_render_linux_impl.cc", "linux/video_render_linux_impl.h", "linux/video_x11_channel.cc", "linux/video_x11_channel.h", "linux/video_x11_render.cc", "linux/video_x11_render.h", ] libs += [ "Xext" ] } if (is_mac) { sources += [ "mac/cocoa_full_screen_window.h", "mac/cocoa_full_screen_window.mm", "mac/cocoa_render_view.h", "mac/cocoa_render_view.mm", "mac/video_render_agl.cc", "mac/video_render_agl.h", "mac/video_render_mac_carbon_impl.cc", "mac/video_render_mac_carbon_impl.h", "mac/video_render_mac_cocoa_impl.h", "mac/video_render_mac_cocoa_impl.mm", "mac/video_render_nsopengl.h", "mac/video_render_nsopengl.mm", ] libs += [ "CoreVideo.framework", "QTKit.framework", ] } if (is_win) { sources += [ "windows/i_video_render_win.h", "windows/video_render_direct3d9.cc", "windows/video_render_direct3d9.h", "windows/video_render_windows_impl.cc", "windows/video_render_windows_impl.h", ] directxsdk_exists = (exec_script("//build/dir_exists.py", [ rebase_path("//third_party/directxsdk/files", root_build_dir) ], "trim string") == "True") if (directxsdk_exists) { directxsdk_path = "//third_party/directxsdk/files" } else { directxsdk_path = getenv("DXSDK_DIR") } include_dirs = [ directxsdk_path + "/Include" ] } if (is_android) { sources += [ "android/video_render_android_impl.cc", "android/video_render_android_impl.h", "android/video_render_android_native_opengl2.cc", "android/video_render_android_native_opengl2.h", "android/video_render_android_surface_view.cc", "android/video_render_android_surface_view.h", "android/video_render_opengles20.cc", "android/video_render_opengles20.h", ] libs += [ "GLESv2" ] } if (is_ios) { sources += [ "ios/open_gles20.h", "ios/open_gles20.mm", "ios/video_render_ios_channel.h", "ios/video_render_ios_channel.mm", "ios/video_render_ios_gles20.h", "ios/video_render_ios_gles20.mm", "ios/video_render_ios_impl.h", "ios/video_render_ios_impl.mm", "ios/video_render_ios_view.h", "ios/video_render_ios_view.mm", ] cflags += [ "-fobjc-arc" ] # CLANG_ENABLE_OBJC_ARC = YES. } all_dependent_configs = [ ":video_render_internal_impl_config"] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } }