xref: /aosp_15_r20/frameworks/av/media/module/libmediatranscoding/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1*ec779b8eSAndroid Build Coastguard Worker/*
2*ec779b8eSAndroid Build Coastguard Worker * Copyright (C) 2020 The Android Open Source Project
3*ec779b8eSAndroid Build Coastguard Worker *
4*ec779b8eSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*ec779b8eSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*ec779b8eSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*ec779b8eSAndroid Build Coastguard Worker *
8*ec779b8eSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*ec779b8eSAndroid Build Coastguard Worker *
10*ec779b8eSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*ec779b8eSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*ec779b8eSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*ec779b8eSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*ec779b8eSAndroid Build Coastguard Worker * limitations under the License.
15*ec779b8eSAndroid Build Coastguard Worker */
16*ec779b8eSAndroid Build Coastguard Worker
17*ec779b8eSAndroid Build Coastguard Workerpackage {
18*ec779b8eSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
19*ec779b8eSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
20*ec779b8eSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_av_license"
21*ec779b8eSAndroid Build Coastguard Worker    // to get the below license kinds:
22*ec779b8eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
23*ec779b8eSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_av_license"],
24*ec779b8eSAndroid Build Coastguard Worker}
25*ec779b8eSAndroid Build Coastguard Worker
26*ec779b8eSAndroid Build Coastguard Workerfilegroup {
27*ec779b8eSAndroid Build Coastguard Worker    name: "libmediatranscoding_aidl",
28*ec779b8eSAndroid Build Coastguard Worker    srcs: [
29*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/IMediaTranscodingService.aidl",
30*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/ITranscodingClient.aidl",
31*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/ITranscodingClientCallback.aidl",
32*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingErrorCode.aidl",
33*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingSessionPriority.aidl",
34*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingSessionStats.aidl",
35*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingType.aidl",
36*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingVideoCodecType.aidl",
37*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingVideoTrackFormat.aidl",
38*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingSessionParcel.aidl",
39*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingRequestParcel.aidl",
40*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingResultParcel.aidl",
41*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/TranscodingTestConfig.aidl",
42*ec779b8eSAndroid Build Coastguard Worker    ],
43*ec779b8eSAndroid Build Coastguard Worker    path: "aidl",
44*ec779b8eSAndroid Build Coastguard Worker}
45*ec779b8eSAndroid Build Coastguard Worker
46*ec779b8eSAndroid Build Coastguard Worker// AIDL interfaces of MediaTranscoding.
47*ec779b8eSAndroid Build Coastguard Workeraidl_interface {
48*ec779b8eSAndroid Build Coastguard Worker    name: "mediatranscoding_aidl_interface",
49*ec779b8eSAndroid Build Coastguard Worker    unstable: true,
50*ec779b8eSAndroid Build Coastguard Worker    local_include_dir: "aidl",
51*ec779b8eSAndroid Build Coastguard Worker    srcs: [":libmediatranscoding_aidl"],
52*ec779b8eSAndroid Build Coastguard Worker    backend:
53*ec779b8eSAndroid Build Coastguard Worker    {
54*ec779b8eSAndroid Build Coastguard Worker        java: {
55*ec779b8eSAndroid Build Coastguard Worker            enabled: true,
56*ec779b8eSAndroid Build Coastguard Worker            apex_available: [
57*ec779b8eSAndroid Build Coastguard Worker                "com.android.media",
58*ec779b8eSAndroid Build Coastguard Worker                "test_com.android.media",
59*ec779b8eSAndroid Build Coastguard Worker            ],
60*ec779b8eSAndroid Build Coastguard Worker            min_sdk_version: "29",
61*ec779b8eSAndroid Build Coastguard Worker        },
62*ec779b8eSAndroid Build Coastguard Worker        ndk: {
63*ec779b8eSAndroid Build Coastguard Worker            enabled: true,
64*ec779b8eSAndroid Build Coastguard Worker            apex_available: [
65*ec779b8eSAndroid Build Coastguard Worker                "com.android.media",
66*ec779b8eSAndroid Build Coastguard Worker                "test_com.android.media",
67*ec779b8eSAndroid Build Coastguard Worker            ],
68*ec779b8eSAndroid Build Coastguard Worker            min_sdk_version: "29",
69*ec779b8eSAndroid Build Coastguard Worker        },
70*ec779b8eSAndroid Build Coastguard Worker    },
71*ec779b8eSAndroid Build Coastguard Worker}
72*ec779b8eSAndroid Build Coastguard Worker
73*ec779b8eSAndroid Build Coastguard Workercc_library {
74*ec779b8eSAndroid Build Coastguard Worker    name: "libmediatranscoding",
75*ec779b8eSAndroid Build Coastguard Worker
76*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
77*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
78*ec779b8eSAndroid Build Coastguard Worker        "com.android.media",
79*ec779b8eSAndroid Build Coastguard Worker        "test_com.android.media",
80*ec779b8eSAndroid Build Coastguard Worker    ],
81*ec779b8eSAndroid Build Coastguard Worker
82*ec779b8eSAndroid Build Coastguard Worker    srcs: [
83*ec779b8eSAndroid Build Coastguard Worker        "TranscoderWrapper.cpp",
84*ec779b8eSAndroid Build Coastguard Worker        "TranscodingClientManager.cpp",
85*ec779b8eSAndroid Build Coastguard Worker        "TranscodingLogger.cpp",
86*ec779b8eSAndroid Build Coastguard Worker        "TranscodingResourcePolicy.cpp",
87*ec779b8eSAndroid Build Coastguard Worker        "TranscodingSessionController.cpp",
88*ec779b8eSAndroid Build Coastguard Worker        "TranscodingThermalPolicy.cpp",
89*ec779b8eSAndroid Build Coastguard Worker        "TranscodingUidPolicy.cpp",
90*ec779b8eSAndroid Build Coastguard Worker    ],
91*ec779b8eSAndroid Build Coastguard Worker
92*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
93*ec779b8eSAndroid Build Coastguard Worker        "libandroid#31",
94*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
95*ec779b8eSAndroid Build Coastguard Worker        "libcutils",
96*ec779b8eSAndroid Build Coastguard Worker        "liblog",
97*ec779b8eSAndroid Build Coastguard Worker        "libutils",
98*ec779b8eSAndroid Build Coastguard Worker        "libmediatranscoder",
99*ec779b8eSAndroid Build Coastguard Worker        "libmediandk",
100*ec779b8eSAndroid Build Coastguard Worker        "libstatssocket#30",
101*ec779b8eSAndroid Build Coastguard Worker    ],
102*ec779b8eSAndroid Build Coastguard Worker    export_shared_lib_headers: [
103*ec779b8eSAndroid Build Coastguard Worker        "libmediandk",
104*ec779b8eSAndroid Build Coastguard Worker    ],
105*ec779b8eSAndroid Build Coastguard Worker
106*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
107*ec779b8eSAndroid Build Coastguard Worker
108*ec779b8eSAndroid Build Coastguard Worker    static_libs: [
109*ec779b8eSAndroid Build Coastguard Worker        "mediatranscoding_aidl_interface-ndk",
110*ec779b8eSAndroid Build Coastguard Worker        "resourceobserver_aidl_interface-V1-ndk",
111*ec779b8eSAndroid Build Coastguard Worker        "libstatslog_media",
112*ec779b8eSAndroid Build Coastguard Worker    ],
113*ec779b8eSAndroid Build Coastguard Worker
114*ec779b8eSAndroid Build Coastguard Worker    cflags: [
115*ec779b8eSAndroid Build Coastguard Worker        "-Wall",
116*ec779b8eSAndroid Build Coastguard Worker        "-Werror",
117*ec779b8eSAndroid Build Coastguard Worker        "-Wformat",
118*ec779b8eSAndroid Build Coastguard Worker        "-Wno-error=deprecated-declarations",
119*ec779b8eSAndroid Build Coastguard Worker        "-Wthread-safety",
120*ec779b8eSAndroid Build Coastguard Worker        "-Wunused",
121*ec779b8eSAndroid Build Coastguard Worker        "-Wunreachable-code",
122*ec779b8eSAndroid Build Coastguard Worker    ],
123*ec779b8eSAndroid Build Coastguard Worker
124*ec779b8eSAndroid Build Coastguard Worker    sanitize: {
125*ec779b8eSAndroid Build Coastguard Worker        misc_undefined: [
126*ec779b8eSAndroid Build Coastguard Worker            "unsigned-integer-overflow",
127*ec779b8eSAndroid Build Coastguard Worker            "signed-integer-overflow",
128*ec779b8eSAndroid Build Coastguard Worker        ],
129*ec779b8eSAndroid Build Coastguard Worker        cfi: true,
130*ec779b8eSAndroid Build Coastguard Worker    },
131*ec779b8eSAndroid Build Coastguard Worker}
132*ec779b8eSAndroid Build Coastguard Worker
133*ec779b8eSAndroid Build Coastguard Workercc_library_static {
134*ec779b8eSAndroid Build Coastguard Worker    name: "libstatslog_media",
135*ec779b8eSAndroid Build Coastguard Worker    generated_sources: ["statslog_media.cpp"],
136*ec779b8eSAndroid Build Coastguard Worker    generated_headers: ["statslog_media.h"],
137*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
138*ec779b8eSAndroid Build Coastguard Worker    cflags: [
139*ec779b8eSAndroid Build Coastguard Worker        "-Wall",
140*ec779b8eSAndroid Build Coastguard Worker        "-Werror",
141*ec779b8eSAndroid Build Coastguard Worker    ],
142*ec779b8eSAndroid Build Coastguard Worker    export_generated_headers: ["statslog_media.h"],
143*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
144*ec779b8eSAndroid Build Coastguard Worker        "com.android.media",
145*ec779b8eSAndroid Build Coastguard Worker        "test_com.android.media",
146*ec779b8eSAndroid Build Coastguard Worker    ],
147*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
148*ec779b8eSAndroid Build Coastguard Worker        "libcutils",
149*ec779b8eSAndroid Build Coastguard Worker        "liblog",
150*ec779b8eSAndroid Build Coastguard Worker        "libstatssocket#30",
151*ec779b8eSAndroid Build Coastguard Worker        "libutils",
152*ec779b8eSAndroid Build Coastguard Worker    ],
153*ec779b8eSAndroid Build Coastguard Worker}
154*ec779b8eSAndroid Build Coastguard Worker
155*ec779b8eSAndroid Build Coastguard Workergenrule {
156*ec779b8eSAndroid Build Coastguard Worker    name: "statslog_media.h",
157*ec779b8eSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
158*ec779b8eSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_media.h --module media --namespace android,media,stats",
159*ec779b8eSAndroid Build Coastguard Worker    out: [
160*ec779b8eSAndroid Build Coastguard Worker        "statslog_media.h",
161*ec779b8eSAndroid Build Coastguard Worker    ],
162*ec779b8eSAndroid Build Coastguard Worker}
163*ec779b8eSAndroid Build Coastguard Worker
164*ec779b8eSAndroid Build Coastguard Workergenrule {
165*ec779b8eSAndroid Build Coastguard Worker    name: "statslog_media.cpp",
166*ec779b8eSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
167*ec779b8eSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_media.cpp --module media --namespace android,media,stats --importHeader statslog_media.h",
168*ec779b8eSAndroid Build Coastguard Worker    out: [
169*ec779b8eSAndroid Build Coastguard Worker        "statslog_media.cpp",
170*ec779b8eSAndroid Build Coastguard Worker    ],
171*ec779b8eSAndroid Build Coastguard Worker}