Remove libmediametrics dependency from libmediaextractor
- Removes media metrics related methods in the extractor plugin.
- Puts metrics related code in one place, RemoteMediaExtractor.
Test: build & pass android.media.cts.MediaExtractorTest
Bug: 67908556
Change-Id: I5e06e6b6b5c047a3c68d90479e55f1df9061da45
diff --git a/media/libmediaextractor/Android.bp b/media/libmediaextractor/Android.bp
index c57cd41..dcdb320 100644
--- a/media/libmediaextractor/Android.bp
+++ b/media/libmediaextractor/Android.bp
@@ -1,5 +1,6 @@
cc_library_shared {
name: "libmediaextractor",
+
include_dirs: [
"frameworks/av/include",
"frameworks/av/media/libmediaextractor/include",
@@ -14,7 +15,6 @@
],
shared_libs: [
- "libmediametrics",
"libstagefright_foundation",
"libutils",
"libcutils",
diff --git a/media/libmediaextractor/MediaExtractor.cpp b/media/libmediaextractor/MediaExtractor.cpp
index 6ba7c0e..2241567 100644
--- a/media/libmediaextractor/MediaExtractor.cpp
+++ b/media/libmediaextractor/MediaExtractor.cpp
@@ -19,68 +19,26 @@
#include <utils/Log.h>
#include <pwd.h>
-#include <media/MediaAnalyticsItem.h>
#include <media/MediaExtractor.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/MetaData.h>
namespace android {
-// key for media statistics
-static const char *kKeyExtractor = "extractor";
-
MediaExtractor::MediaExtractor() {
if (!LOG_NDEBUG) {
uid_t uid = getuid();
struct passwd *pw = getpwuid(uid);
ALOGV("extractor created in uid: %d (%s)", getuid(), pw->pw_name);
}
-
- mAnalyticsItem = NULL;
- if (MEDIA_LOG) {
- mAnalyticsItem = new MediaAnalyticsItem(kKeyExtractor);
- (void) mAnalyticsItem->generateSessionID();
- }
}
-MediaExtractor::~MediaExtractor() {
-
- // log the current record, provided it has some information worth recording
- if (MEDIA_LOG) {
- if (mAnalyticsItem != NULL) {
- if (mAnalyticsItem->count() > 0) {
- mAnalyticsItem->setFinalized(true);
- mAnalyticsItem->selfrecord();
- }
- }
- }
- if (mAnalyticsItem != NULL) {
- delete mAnalyticsItem;
- mAnalyticsItem = NULL;
- }
-}
+MediaExtractor::~MediaExtractor() {}
sp<MetaData> MediaExtractor::getMetaData() {
return new MetaData;
}
-status_t MediaExtractor::getMetrics(Parcel *reply) {
-
- if (mAnalyticsItem == NULL || reply == NULL) {
- return UNKNOWN_ERROR;
- }
-
- populateMetrics();
- mAnalyticsItem->writeToParcel(reply);
-
- return OK;
-}
-
-void MediaExtractor::populateMetrics() {
- ALOGV("MediaExtractor::populateMetrics");
- // normally overridden in subclasses
-}
-
uint32_t MediaExtractor::flags() const {
return CAN_SEEK_BACKWARD | CAN_SEEK_FORWARD | CAN_PAUSE | CAN_SEEK;
}
diff --git a/media/libmediaextractor/include/media/MediaExtractor.h b/media/libmediaextractor/include/media/MediaExtractor.h
index 2dcced3..f197b5e 100644
--- a/media/libmediaextractor/include/media/MediaExtractor.h
+++ b/media/libmediaextractor/include/media/MediaExtractor.h
@@ -24,14 +24,10 @@
#include <utils/Errors.h>
#include <utils/RefBase.h>
-// still doing some on/off toggling here.
-#define MEDIA_LOG 1
-
namespace android {
class DataSource;
class IMediaSource;
-class MediaAnalyticsItem;
class MediaExtractorFactory;
class MetaData;
class Parcel;
@@ -55,8 +51,6 @@
// returns an empty metadata object.
virtual sp<MetaData> getMetaData();
- status_t getMetrics(Parcel *reply);
-
enum Flags {
CAN_SEEK_BACKWARD = 1, // the "seek 10secs back button"
CAN_SEEK_FORWARD = 2, // the "seek 10secs forward button"
@@ -123,14 +117,9 @@
MediaExtractor();
virtual ~MediaExtractor();
- MediaAnalyticsItem *mAnalyticsItem;
-
- virtual void populateMetrics();
-
private:
MediaExtractor(const MediaExtractor &);
MediaExtractor &operator=(const MediaExtractor &);
- friend class MediaExtractorFactory;
};
// purposely not defined anywhere so that this will fail to link if