Loading cmds/stagefright/SimplePlayer.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -324,9 +324,8 @@ status_t SimplePlayer::onPrepare() { CHECK_EQ(err, (status_t)OK); size_t j = 0; sp<RefBase> obj; while (format->findObject(StringPrintf("csd-%d", j).c_str(), &obj)) { sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; while (format->findBuffer(StringPrintf("csd-%d", j).c_str(), &buffer)) { state->mCSD.push_back(buffer); ++j; Loading include/media/stagefright/foundation/AMessage.h +7 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace android { struct ABuffer; struct AString; struct Parcel; Loading @@ -50,6 +51,7 @@ struct AMessage : public RefBase { void setPointer(const char *name, void *value); void setString(const char *name, const char *s, ssize_t len = -1); void setObject(const char *name, const sp<RefBase> &obj); void setBuffer(const char *name, const sp<ABuffer> &buffer); void setMessage(const char *name, const sp<AMessage> &obj); void setRect( Loading @@ -64,6 +66,7 @@ struct AMessage : public RefBase { bool findPointer(const char *name, void **value) const; bool findString(const char *name, AString *value) const; bool findObject(const char *name, sp<RefBase> *obj) const; bool findBuffer(const char *name, sp<ABuffer> *buffer) const; bool findMessage(const char *name, sp<AMessage> *obj) const; bool findRect( Loading Loading @@ -101,6 +104,7 @@ struct AMessage : public RefBase { kTypeObject, kTypeMessage, kTypeRect, kTypeBuffer, }; size_t countEntries() const; Loading Loading @@ -143,6 +147,9 @@ private: void freeItem(Item *item); const Item *findItem(const char *name, Type type) const; void setObjectInternal( const char *name, const sp<RefBase> &obj, Type type); DISALLOW_EVIL_CONSTRUCTORS(AMessage); }; Loading media/jni/android_media_Utils.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -176,13 +176,10 @@ status_t ConvertMessageToMap( break; } case AMessage::kTypeObject: case AMessage::kTypeBuffer: { sp<RefBase> obj; CHECK(msg->findObject(key, &obj)); // XXX dangerous, object is not guaranteed to be a buffer. sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; CHECK(msg->findBuffer(key, &buffer)); valueObj = makeByteBufferObject( env, buffer->data(), buffer->size()); Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +3 −5 Original line number Diff line number Diff line Loading @@ -768,7 +768,7 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { mediaTimeUs / 1E6); #endif reply->setObject("buffer", accessUnit); reply->setBuffer("buffer", accessUnit); reply->post(); return OK; Loading @@ -793,10 +793,8 @@ void NuPlayer::renderBuffer(bool audio, const sp<AMessage> &msg) { return; } sp<RefBase> obj; CHECK(msg->findObject("buffer", &obj)); sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; CHECK(msg->findBuffer("buffer", &buffer)); int64_t &skipUntilMediaTimeUs = audio Loading media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -214,8 +214,6 @@ sp<AMessage> NuPlayer::Decoder::makeFormat(const sp<MetaData> &meta) { buffer->meta()->setInt32("csd", true); mCSD.push(buffer); msg->setObject("csd", buffer); } else if (meta->findData(kKeyESDS, &type, &data, &size)) { ESDS esds((const char *)data, size); CHECK_EQ(esds.InitCheck(), (status_t)OK); Loading @@ -242,9 +240,8 @@ void NuPlayer::Decoder::onFillThisBuffer(const sp<AMessage> &msg) { CHECK(msg->findMessage("reply", &reply)); #if 0 sp<RefBase> obj; CHECK(msg->findObject("buffer", &obj)); sp<ABuffer> outBuffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> outBuffer; CHECK(msg->findBuffer("buffer", &outBuffer)); #else sp<ABuffer> outBuffer; #endif Loading @@ -253,7 +250,7 @@ void NuPlayer::Decoder::onFillThisBuffer(const sp<AMessage> &msg) { outBuffer = mCSD.editItemAt(mCSDIndex++); outBuffer->meta()->setInt64("timeUs", 0); reply->setObject("buffer", outBuffer); reply->setBuffer("buffer", outBuffer); reply->post(); return; } Loading Loading
cmds/stagefright/SimplePlayer.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -324,9 +324,8 @@ status_t SimplePlayer::onPrepare() { CHECK_EQ(err, (status_t)OK); size_t j = 0; sp<RefBase> obj; while (format->findObject(StringPrintf("csd-%d", j).c_str(), &obj)) { sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; while (format->findBuffer(StringPrintf("csd-%d", j).c_str(), &buffer)) { state->mCSD.push_back(buffer); ++j; Loading
include/media/stagefright/foundation/AMessage.h +7 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace android { struct ABuffer; struct AString; struct Parcel; Loading @@ -50,6 +51,7 @@ struct AMessage : public RefBase { void setPointer(const char *name, void *value); void setString(const char *name, const char *s, ssize_t len = -1); void setObject(const char *name, const sp<RefBase> &obj); void setBuffer(const char *name, const sp<ABuffer> &buffer); void setMessage(const char *name, const sp<AMessage> &obj); void setRect( Loading @@ -64,6 +66,7 @@ struct AMessage : public RefBase { bool findPointer(const char *name, void **value) const; bool findString(const char *name, AString *value) const; bool findObject(const char *name, sp<RefBase> *obj) const; bool findBuffer(const char *name, sp<ABuffer> *buffer) const; bool findMessage(const char *name, sp<AMessage> *obj) const; bool findRect( Loading Loading @@ -101,6 +104,7 @@ struct AMessage : public RefBase { kTypeObject, kTypeMessage, kTypeRect, kTypeBuffer, }; size_t countEntries() const; Loading Loading @@ -143,6 +147,9 @@ private: void freeItem(Item *item); const Item *findItem(const char *name, Type type) const; void setObjectInternal( const char *name, const sp<RefBase> &obj, Type type); DISALLOW_EVIL_CONSTRUCTORS(AMessage); }; Loading
media/jni/android_media_Utils.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -176,13 +176,10 @@ status_t ConvertMessageToMap( break; } case AMessage::kTypeObject: case AMessage::kTypeBuffer: { sp<RefBase> obj; CHECK(msg->findObject(key, &obj)); // XXX dangerous, object is not guaranteed to be a buffer. sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; CHECK(msg->findBuffer(key, &buffer)); valueObj = makeByteBufferObject( env, buffer->data(), buffer->size()); Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +3 −5 Original line number Diff line number Diff line Loading @@ -768,7 +768,7 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { mediaTimeUs / 1E6); #endif reply->setObject("buffer", accessUnit); reply->setBuffer("buffer", accessUnit); reply->post(); return OK; Loading @@ -793,10 +793,8 @@ void NuPlayer::renderBuffer(bool audio, const sp<AMessage> &msg) { return; } sp<RefBase> obj; CHECK(msg->findObject("buffer", &obj)); sp<ABuffer> buffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> buffer; CHECK(msg->findBuffer("buffer", &buffer)); int64_t &skipUntilMediaTimeUs = audio Loading
media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -214,8 +214,6 @@ sp<AMessage> NuPlayer::Decoder::makeFormat(const sp<MetaData> &meta) { buffer->meta()->setInt32("csd", true); mCSD.push(buffer); msg->setObject("csd", buffer); } else if (meta->findData(kKeyESDS, &type, &data, &size)) { ESDS esds((const char *)data, size); CHECK_EQ(esds.InitCheck(), (status_t)OK); Loading @@ -242,9 +240,8 @@ void NuPlayer::Decoder::onFillThisBuffer(const sp<AMessage> &msg) { CHECK(msg->findMessage("reply", &reply)); #if 0 sp<RefBase> obj; CHECK(msg->findObject("buffer", &obj)); sp<ABuffer> outBuffer = static_cast<ABuffer *>(obj.get()); sp<ABuffer> outBuffer; CHECK(msg->findBuffer("buffer", &outBuffer)); #else sp<ABuffer> outBuffer; #endif Loading @@ -253,7 +250,7 @@ void NuPlayer::Decoder::onFillThisBuffer(const sp<AMessage> &msg) { outBuffer = mCSD.editItemAt(mCSDIndex++); outBuffer->meta()->setInt64("timeUs", 0); reply->setObject("buffer", outBuffer); reply->setBuffer("buffer", outBuffer); reply->post(); return; } Loading