Merge "Implement name() and flags() in IMediaExtractor"

gugelfrei
Marco Nelissen 4 years ago committed by Android (Google) Code Review
commit 2496ffbc45

@ -107,8 +107,15 @@ public:
}
virtual uint32_t flags() const {
ALOGV("flags NOT IMPLEMENTED");
return 0;
ALOGV("flags");
Parcel data, reply;
data.writeInterfaceToken(BpMediaExtractor::getInterfaceDescriptor());
status_t ret = remote()->transact(FLAGS, data, &reply);
int flgs = 0;
if (ret == NO_ERROR) {
flgs = reply.readUint32();
}
return flgs;
}
virtual status_t setMediaCas(const HInterfaceToken &casToken) {
@ -125,9 +132,15 @@ public:
return reply.readInt32();
}
virtual const char * name() {
ALOGV("name NOT IMPLEMENTED");
return NULL;
virtual String8 name() {
Parcel data, reply;
data.writeInterfaceToken(BpMediaExtractor::getInterfaceDescriptor());
status_t ret = remote()->transact(NAME, data, &reply);
String8 nm;
if (ret == NO_ERROR) {
nm = reply.readString8();
}
return nm;
}
};
@ -192,6 +205,12 @@ status_t BnMediaExtractor::onTransact(
status_t ret = getMetrics(reply);
return ret;
}
case FLAGS: {
ALOGV("flags");
CHECK_INTERFACE(IMediaExtractor, data, reply);
reply->writeUint32(this->flags());
return NO_ERROR;
}
case SETMEDIACAS: {
ALOGV("setMediaCas");
CHECK_INTERFACE(IMediaExtractor, data, reply);
@ -206,6 +225,13 @@ status_t BnMediaExtractor::onTransact(
reply->writeInt32(setMediaCas(casToken));
return OK;
}
case NAME: {
ALOGV("name");
CHECK_INTERFACE(IMediaExtractor, data, reply);
String8 nm = name();
reply->writeString8(nm);
return NO_ERROR;
}
default:
return BBinder::onTransact(code, data, reply, flags);
}

@ -62,7 +62,7 @@ public:
virtual status_t setMediaCas(const HInterfaceToken &casToken) = 0;
virtual const char * name() = 0;
virtual String8 name() = 0;
};

@ -139,8 +139,8 @@ status_t RemoteMediaExtractor::setMediaCas(const HInterfaceToken &casToken) {
return mExtractor->setMediaCas((uint8_t*)casToken.data(), casToken.size());
}
const char * RemoteMediaExtractor::name() {
return mExtractor->name();
String8 RemoteMediaExtractor::name() {
return String8(mExtractor->name());
}
////////////////////////////////////////////////////////////////////////////////

@ -41,7 +41,7 @@ public:
virtual status_t getMetrics(Parcel *reply);
virtual uint32_t flags() const;
virtual status_t setMediaCas(const HInterfaceToken &casToken);
virtual const char * name();
virtual String8 name();
private:
MediaExtractor *mExtractor;

Loading…
Cancel
Save