Headers under frameworks/native/include/media serves as an interface
that is meant to be implemented by vendors. For example.
media/hardware/CryptoAPI.h is implemented under
vendor/widevine/libwvdrmengine/mediacrypto.
When building with BOARD_VNDK_VERSION, the headers are not accessible to
vendors since they have been included via the global include paths and
the paths are not available when building with BOARD_VNDK_VERSION.
So, we need to make a "headers library" for the media headers and modify
vendors to use the headers lib. Usually, we have been doing this by
moving the headers into a subdirectory (usually 'include') of a module
that implements the headers. But, this approach can't be used at this
time since the media headers are implemented by many modules.
The chosen solution is to a separate directory headers/media_plugin and
define a headers lib named media_plugin_headers there.
Note: frameworks/native/headers will now be the home for such
header-only libraries.
Bug:
63120269
Test: build
Change-Id: I67d625706b40d06c8f0602284fbcc1cc8b174c6f
subdirs = [
"cmds/*",
+ "headers",
"libs/*",
"opengl",
"services/*",
--- /dev/null
+cc_library_headers {
+ name: "media_plugin_headers",
+ export_include_dirs: ["media_plugin"],
+ header_libs: [
+ "libstagefright_headers",
+ "libcutils_headers",
+ "libutils_headers",
+ "libstagefright_foundation_headers",
+ ],
+ export_header_lib_headers: [
+ "libstagefright_headers",
+ "libcutils_headers",
+ "libutils_headers",
+ "libstagefright_foundation_headers",
+ ],
+}
--- /dev/null
+../headers/media_plugin/media
\ No newline at end of file