Remove MediaBuffer::clone and other dead code.
Change I570374f936e434b214e9cd55e2a72f12ebeafad2 removed some dead code,
but in turn created more dead code. Remove that too.
Bug: 111407253
Test: manual, CTS
Change-Id: I4ac01935c03257857456d8e460f98f6d4f7eb430
diff --git a/media/extractors/mp4/MPEG4Extractor.cpp b/media/extractors/mp4/MPEG4Extractor.cpp
index 9fb2e35..52213bd 100644
--- a/media/extractors/mp4/MPEG4Extractor.cpp
+++ b/media/extractors/mp4/MPEG4Extractor.cpp
@@ -5352,7 +5352,7 @@
}
}
- if ((!mIsAVC && !mIsHEVC && !mIsAC4)) {
+ if (!mIsAVC && !mIsHEVC && !mIsAC4) {
if (newBuffer) {
if (mIsPcm) {
// The twos' PCM block reader assumes that all samples has the same size.
@@ -5429,58 +5429,11 @@
}
}
- if (!mIsAVC && !mIsHEVC && !mIsAC4) {
- *out = mBuffer;
- mBuffer = NULL;
-
- return AMEDIA_OK;
- }
-
- if (mIsAC4) {
- mBuffer->release();
- mBuffer = NULL;
-
- return AMEDIA_ERROR_IO;
- }
-
- // Each NAL unit is split up into its constituent fragments and
- // each one of them returned in its own buffer.
-
- CHECK(mBuffer->range_length() >= mNALLengthSize);
-
- const uint8_t *src =
- (const uint8_t *)mBuffer->data() + mBuffer->range_offset();
-
- size_t nal_size = parseNALSize(src);
- if (mNALLengthSize > SIZE_MAX - nal_size) {
- ALOGE("b/24441553, b/24445122");
- }
- if (mBuffer->range_length() - mNALLengthSize < nal_size) {
- ALOGE("incomplete NAL unit.");
-
- mBuffer->release();
- mBuffer = NULL;
-
- return AMEDIA_ERROR_MALFORMED;
- }
-
- MediaBufferBase *clone = mBuffer->clone();
- CHECK(clone != NULL);
- clone->set_range(mBuffer->range_offset() + mNALLengthSize, nal_size);
-
- CHECK(mBuffer != NULL);
- mBuffer->set_range(
- mBuffer->range_offset() + mNALLengthSize + nal_size,
- mBuffer->range_length() - mNALLengthSize - nal_size);
-
- if (mBuffer->range_length() == 0) {
- mBuffer->release();
- mBuffer = NULL;
- }
-
- *out = clone;
+ *out = mBuffer;
+ mBuffer = NULL;
return AMEDIA_OK;
+
} else if (mIsAC4) {
CHECK(mBuffer != NULL);
// Make sure there is enough space to write the sync header and the raw frame
@@ -5773,7 +5726,7 @@
}
- if ((!mIsAVC && !mIsHEVC)) {
+ if (!mIsAVC && !mIsHEVC) {
if (newBuffer) {
if (!isInRange((size_t)0u, mBuffer->size(), size)) {
mBuffer->release();
@@ -5825,52 +5778,11 @@
++mCurrentSampleIndex;
}
- if (!mIsAVC && !mIsHEVC) {
- *out = mBuffer;
- mBuffer = NULL;
-
- return AMEDIA_OK;
- }
-
- // Each NAL unit is split up into its constituent fragments and
- // each one of them returned in its own buffer.
-
- CHECK(mBuffer->range_length() >= mNALLengthSize);
-
- const uint8_t *src =
- (const uint8_t *)mBuffer->data() + mBuffer->range_offset();
-
- size_t nal_size = parseNALSize(src);
- if (mNALLengthSize > SIZE_MAX - nal_size) {
- ALOGE("b/24441553, b/24445122");
- }
-
- if (mBuffer->range_length() - mNALLengthSize < nal_size) {
- ALOGE("incomplete NAL unit.");
-
- mBuffer->release();
- mBuffer = NULL;
-
- return AMEDIA_ERROR_MALFORMED;
- }
-
- MediaBufferBase *clone = mBuffer->clone();
- CHECK(clone != NULL);
- clone->set_range(mBuffer->range_offset() + mNALLengthSize, nal_size);
-
- CHECK(mBuffer != NULL);
- mBuffer->set_range(
- mBuffer->range_offset() + mNALLengthSize + nal_size,
- mBuffer->range_length() - mNALLengthSize - nal_size);
-
- if (mBuffer->range_length() == 0) {
- mBuffer->release();
- mBuffer = NULL;
- }
-
- *out = clone;
+ *out = mBuffer;
+ mBuffer = NULL;
return AMEDIA_OK;
+
} else {
ALOGV("whole NAL");
// Whole NAL units are returned but each fragment is prefixed by
diff --git a/media/libmediaextractor/MediaBuffer.cpp b/media/libmediaextractor/MediaBuffer.cpp
index d197b3f..26d0bd4 100644
--- a/media/libmediaextractor/MediaBuffer.cpp
+++ b/media/libmediaextractor/MediaBuffer.cpp
@@ -39,8 +39,7 @@
mRangeOffset(0),
mRangeLength(size),
mOwnsData(false),
- mMetaData(new MetaDataBase),
- mOriginal(NULL) {
+ mMetaData(new MetaDataBase) {
}
MediaBuffer::MediaBuffer(size_t size)
@@ -51,8 +50,7 @@
mRangeOffset(0),
mRangeLength(size),
mOwnsData(true),
- mMetaData(new MetaDataBase),
- mOriginal(NULL) {
+ mMetaData(new MetaDataBase) {
if (size < kSharedMemThreshold
|| std::atomic_load_explicit(&mUseSharedMemory, std::memory_order_seq_cst) == 0) {
mData = malloc(size);
@@ -84,8 +82,7 @@
mRangeLength(mSize),
mBuffer(buffer),
mOwnsData(false),
- mMetaData(new MetaDataBase),
- mOriginal(NULL) {
+ mMetaData(new MetaDataBase) {
}
void MediaBuffer::release() {
@@ -162,11 +159,6 @@
mData = NULL;
}
- if (mOriginal != NULL) {
- mOriginal->release();
- mOriginal = NULL;
- }
-
if (mMemory.get() != nullptr) {
getSharedControl()->setDeadObject();
}
@@ -178,15 +170,4 @@
mObserver = observer;
}
-MediaBufferBase *MediaBuffer::clone() {
- MediaBuffer *buffer = new MediaBuffer(mData, mSize);
- buffer->set_range(mRangeOffset, mRangeLength);
- buffer->mMetaData = new MetaDataBase(*mMetaData);
-
- add_ref();
- buffer->mOriginal = this;
-
- return buffer;
-}
-
} // namespace android
diff --git a/media/libmediaextractor/include/media/stagefright/MediaBuffer.h b/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
index 5a25965..5b362a4 100644
--- a/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
+++ b/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
@@ -80,11 +80,6 @@
virtual void setObserver(MediaBufferObserver *group);
- // Returns a clone of this MediaBuffer increasing its reference count.
- // The clone references the same data but has its own range and
- // MetaData.
- virtual MediaBufferBase *clone();
-
// sum of localRefcount() and remoteRefcount()
// Result should be treated as approximate unless the result precludes concurrent accesses.
virtual int refcount() const {
@@ -158,8 +153,6 @@
MetaDataBase* mMetaData;
- MediaBuffer *mOriginal;
-
static std::atomic_int_least32_t mUseSharedMemory;
MediaBuffer(const MediaBuffer &);
diff --git a/media/libmediaextractor/include/media/stagefright/MediaBufferBase.h b/media/libmediaextractor/include/media/stagefright/MediaBufferBase.h
index d67ddbd..eb49f4c 100644
--- a/media/libmediaextractor/include/media/stagefright/MediaBufferBase.h
+++ b/media/libmediaextractor/include/media/stagefright/MediaBufferBase.h
@@ -70,11 +70,6 @@
virtual void setObserver(MediaBufferObserver *group) = 0;
- // Returns a clone of this MediaBufferBase increasing its reference
- // count. The clone references the same data but has its own range and
- // MetaData.
- virtual MediaBufferBase *clone() = 0;
-
virtual int refcount() const = 0;
virtual int localRefcount() const = 0;