Loading include/media/stagefright/MediaBuffer.h +4 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace android { struct ABuffer; class GraphicBuffer; class MediaBuffer; class MediaBufferObserver; Loading @@ -51,6 +52,8 @@ public: MediaBuffer(const sp<GraphicBuffer>& graphicBuffer); MediaBuffer(const sp<ABuffer> &buffer); // Decrements the reference count and returns the buffer to its // associated MediaBufferGroup if the reference count drops to 0. void release(); Loading Loading @@ -100,6 +103,7 @@ private: void *mData; size_t mSize, mRangeOffset, mRangeLength; sp<GraphicBuffer> mGraphicBuffer; sp<ABuffer> mBuffer; bool mOwnsData; Loading media/libstagefright/MediaBuffer.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <pthread.h> #include <stdlib.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/MediaBuffer.h> #include <media/stagefright/MediaDebug.h> #include <media/stagefright/MetaData.h> Loading Loading @@ -70,6 +71,20 @@ MediaBuffer::MediaBuffer(const sp<GraphicBuffer>& graphicBuffer) mOriginal(NULL) { } MediaBuffer::MediaBuffer(const sp<ABuffer> &buffer) : mObserver(NULL), mNextBuffer(NULL), mRefCount(0), mData(buffer->data()), mSize(buffer->size()), mRangeOffset(0), mRangeLength(mSize), mBuffer(buffer), mOwnsData(false), mMetaData(new MetaData), mOriginal(NULL) { } void MediaBuffer::release() { if (mObserver == NULL) { CHECK_EQ(mRefCount, 0); Loading media/libstagefright/mpeg2ts/AnotherPacketSource.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -105,12 +105,10 @@ status_t AnotherPacketSource::read( int64_t timeUs; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); MediaBuffer *mediaBuffer = new MediaBuffer(buffer->size()); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); MediaBuffer *mediaBuffer = new MediaBuffer(buffer); // hexdump(buffer->data(), buffer->size()); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); memcpy(mediaBuffer->data(), buffer->data(), buffer->size()); *out = mediaBuffer; return OK; } Loading media/libstagefright/rtsp/APacketSource.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -628,14 +628,12 @@ status_t APacketSource::read( updateNormalPlayTime_l(buffer); MediaBuffer *mediaBuffer = new MediaBuffer(buffer->size()); int64_t timeUs; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); MediaBuffer *mediaBuffer = new MediaBuffer(buffer); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); memcpy(mediaBuffer->data(), buffer->data(), buffer->size()); *out = mediaBuffer; mBuffers.erase(mBuffers.begin()); Loading Loading
include/media/stagefright/MediaBuffer.h +4 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace android { struct ABuffer; class GraphicBuffer; class MediaBuffer; class MediaBufferObserver; Loading @@ -51,6 +52,8 @@ public: MediaBuffer(const sp<GraphicBuffer>& graphicBuffer); MediaBuffer(const sp<ABuffer> &buffer); // Decrements the reference count and returns the buffer to its // associated MediaBufferGroup if the reference count drops to 0. void release(); Loading Loading @@ -100,6 +103,7 @@ private: void *mData; size_t mSize, mRangeOffset, mRangeLength; sp<GraphicBuffer> mGraphicBuffer; sp<ABuffer> mBuffer; bool mOwnsData; Loading
media/libstagefright/MediaBuffer.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <pthread.h> #include <stdlib.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/MediaBuffer.h> #include <media/stagefright/MediaDebug.h> #include <media/stagefright/MetaData.h> Loading Loading @@ -70,6 +71,20 @@ MediaBuffer::MediaBuffer(const sp<GraphicBuffer>& graphicBuffer) mOriginal(NULL) { } MediaBuffer::MediaBuffer(const sp<ABuffer> &buffer) : mObserver(NULL), mNextBuffer(NULL), mRefCount(0), mData(buffer->data()), mSize(buffer->size()), mRangeOffset(0), mRangeLength(mSize), mBuffer(buffer), mOwnsData(false), mMetaData(new MetaData), mOriginal(NULL) { } void MediaBuffer::release() { if (mObserver == NULL) { CHECK_EQ(mRefCount, 0); Loading
media/libstagefright/mpeg2ts/AnotherPacketSource.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -105,12 +105,10 @@ status_t AnotherPacketSource::read( int64_t timeUs; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); MediaBuffer *mediaBuffer = new MediaBuffer(buffer->size()); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); MediaBuffer *mediaBuffer = new MediaBuffer(buffer); // hexdump(buffer->data(), buffer->size()); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); memcpy(mediaBuffer->data(), buffer->data(), buffer->size()); *out = mediaBuffer; return OK; } Loading
media/libstagefright/rtsp/APacketSource.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -628,14 +628,12 @@ status_t APacketSource::read( updateNormalPlayTime_l(buffer); MediaBuffer *mediaBuffer = new MediaBuffer(buffer->size()); int64_t timeUs; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); MediaBuffer *mediaBuffer = new MediaBuffer(buffer); mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs); memcpy(mediaBuffer->data(), buffer->data(), buffer->size()); *out = mediaBuffer; mBuffers.erase(mBuffers.begin()); Loading