Instantiate MediaPlayerService for fuzzing
Adding fuzzing mode method to instantiate MediaPlayerService.
Created cc_defaults for libmediaplayerservice.
Test: m libmediaplayerservice
Bug: 232439428
Change-Id: I5dc39475cff0830dfff6c00ae4394cb4874aae30
diff --git a/media/libmediaplayerservice/Android.bp b/media/libmediaplayerservice/Android.bp
index 266cb17..81553d7 100644
--- a/media/libmediaplayerservice/Android.bp
+++ b/media/libmediaplayerservice/Android.bp
@@ -17,7 +17,8 @@
],
}
-cc_library {
+cc_defaults {
+ name: "libmediaplayerservice_defaults",
srcs: [
"ActivityManager.cpp",
@@ -83,6 +84,26 @@
"framework-permission-aidl-cpp",
],
+ local_include_dirs: ["include"],
+
+ cflags: [
+ "-Werror",
+ "-Wno-error=deprecated-declarations",
+ "-Wall",
+ ],
+
+ sanitize: {
+ cfi: true,
+ },
+}
+
+cc_library {
+ name: "libmediaplayerservice",
+
+ defaults: [
+ "libmediaplayerservice_defaults",
+ ],
+
export_shared_lib_headers: [
"libmedia",
"framework-permission-aidl-cpp",
@@ -92,22 +113,7 @@
"libmediautils_headers",
],
- local_include_dirs: ["include"],
-
export_include_dirs: [
".",
],
-
- cflags: [
- "-Werror",
- "-Wno-error=deprecated-declarations",
- "-Wall",
- ],
-
- name: "libmediaplayerservice",
-
- sanitize: {
- cfi: true,
- },
-
-}
+}
\ No newline at end of file
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index e5f9789..261973e 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -3038,4 +3038,11 @@
}
return NO_ERROR;
}
+
+#ifdef FUZZ_MODE_MEDIA_PLAYER_SERVICE
+sp<MediaPlayerService> MediaPlayerService::createForFuzzTesting() {
+ return sp<MediaPlayerService>::make();
+}
+#endif // FUZZ_MODE_MEDIA_PLAYER_SERVICE
+
} // namespace android
diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h
index 86be3fe..d4ee8e5 100644
--- a/media/libmediaplayerservice/MediaPlayerService.h
+++ b/media/libmediaplayerservice/MediaPlayerService.h
@@ -505,6 +505,12 @@
SortedVector< wp<Client> > mClients;
SortedVector< wp<MediaRecorderClient> > mMediaRecorderClients;
int32_t mNextConnId;
+
+#ifdef FUZZ_MODE_MEDIA_PLAYER_SERVICE
+public:
+ friend class sp<MediaPlayerService>;
+ static sp<MediaPlayerService> createForFuzzTesting();
+#endif // FUZZ_MODE_MEDIA_PLAYER_SERVICE
};
// ----------------------------------------------------------------------------