1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include("/dom/media/webrtc/third_party_build/webrtc.mozbuild")
if CONFIG["MOZ_WEBRTC"]:
EXPORTS += [
"CamerasChild.h",
"CamerasParent.h",
"VideoEngine.h",
"VideoFrameUtils.h",
]
UNIFIED_SOURCES += [
"CamerasChild.cpp",
"CamerasParent.cpp",
"video_engine/video_capture_factory.cc",
"VideoEngine.cpp",
"VideoFrameUtils.cpp",
]
LOCAL_INCLUDES += [
"/dom/media/webrtc",
"/media/libyuv/libyuv/include",
"/mfbt",
"/third_party/libwebrtc",
"/third_party/libwebrtc/third_party/abseil-cpp",
"/tools/profiler/public",
]
if CONFIG["OS_TARGET"] == "Android":
UNIFIED_SOURCES += [
"android_video_capture/device_info_android.cc",
"android_video_capture/video_capture_android.cc",
]
elif CONFIG["OS_TARGET"] == "Darwin":
UNIFIED_SOURCES += [
"objc_video_capture/device_info.mm",
"objc_video_capture/device_info_avfoundation.mm",
"objc_video_capture/device_info_objc.mm",
"objc_video_capture/rtc_video_capture_objc.mm",
"objc_video_capture/video_capture.mm",
"objc_video_capture/video_capture_avfoundation.mm",
]
LOCAL_INCLUDES += [
"/third_party/libwebrtc/sdk/objc",
"/third_party/libwebrtc/sdk/objc/base",
]
CMMFLAGS += [
"-fobjc-arc",
]
if CONFIG["OS_TARGET"] != "Android":
UNIFIED_SOURCES += [
"video_engine/desktop_capture_impl.cc",
"video_engine/desktop_device_info.cc",
"video_engine/tab_capturer.cc",
]
if "WEBRTC_USE_PIPEWIRE" in DEFINES:
UNIFIED_SOURCES += [
"video_engine/placeholder_device_info.cc",
]
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
if CONFIG["OS_TARGET"] == "Android":
DEFINES["WEBRTC_ANDROID"] = True
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
UNIFIED_SOURCES += ["OSXRunLoopSingleton.cpp"]
EXPORTS += ["OSXRunLoopSingleton.h"]
EXPORTS.mozilla += [
"ShmemPool.h",
]
EXPORTS.mozilla.media += [
"CamerasTypes.h",
"MediaChild.h",
"MediaParent.h",
"MediaSystemResourceClient.h",
"MediaSystemResourceManager.h",
"MediaSystemResourceManagerChild.h",
"MediaSystemResourceManagerParent.h",
"MediaSystemResourceMessageUtils.h",
"MediaSystemResourceService.h",
"MediaSystemResourceTypes.h",
"MediaTaskUtils.h",
"MediaUtils.h",
]
UNIFIED_SOURCES += [
"CamerasTypes.cpp",
"MediaChild.cpp",
"MediaParent.cpp",
"MediaSystemResourceClient.cpp",
"MediaSystemResourceManager.cpp",
"MediaSystemResourceManagerChild.cpp",
"MediaSystemResourceManagerParent.cpp",
"MediaSystemResourceService.cpp",
"MediaUtils.cpp",
"ShmemPool.cpp",
]
IPDL_SOURCES += [
"PCameras.ipdl",
"PMedia.ipdl",
"PMediaSystemResourceManager.ipdl",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
with Files("android_video_capture/**"):
SCHEDULES.exclusive = ["android"]
|