Motown: Stop requiring size when releasing payload buffers.
PayloadAllocator and related classes in Motown have required the size of
a payload buffer to be specified on release. This was done to check for
agreement with the allocation. Providing the size on release isn't
always convenient. In getting video to work, a case has come up in which
the added code complexity required to provide the size parameter is too
high a penalty to pay for the small increment in safety.
R=kulakowski@chromium.org
Review URL: https://codereview.chromium.org/2081753002 .
diff --git a/services/media/framework/packet.cc b/services/media/framework/packet.cc
index eef3e3e..3c96701 100644
--- a/services/media/framework/packet.cc
+++ b/services/media/framework/packet.cc
@@ -32,7 +32,7 @@
// payload() and handling deallocation themselves, so allocator_ can be
// nullptr even when payload() is not.
if (payload() != nullptr && allocator_ != nullptr) {
- allocator_->ReleasePayloadBuffer(size(), payload());
+ allocator_->ReleasePayloadBuffer(payload());
}
delete this;
}
diff --git a/services/media/framework/payload_allocator.cc b/services/media/framework/payload_allocator.cc
index 3687100..45198f8 100644
--- a/services/media/framework/payload_allocator.cc
+++ b/services/media/framework/payload_allocator.cc
@@ -19,7 +19,7 @@
// PayloadAllocator implementation.
void* AllocatePayloadBuffer(size_t size) override;
- void ReleasePayloadBuffer(size_t size, void* buffer) override;
+ void ReleasePayloadBuffer(void* buffer) override;
};
void* DefaultAllocator::AllocatePayloadBuffer(size_t size) {
@@ -27,8 +27,7 @@
return std::malloc(static_cast<size_t>(size));
}
-void DefaultAllocator::ReleasePayloadBuffer(size_t size, void* buffer) {
- DCHECK(size > 0);
+void DefaultAllocator::ReleasePayloadBuffer(void* buffer) {
DCHECK(buffer);
std::free(buffer);
}
diff --git a/services/media/framework/payload_allocator.h b/services/media/framework/payload_allocator.h
index 8e398f3..633cdaa 100644
--- a/services/media/framework/payload_allocator.h
+++ b/services/media/framework/payload_allocator.h
@@ -21,7 +21,7 @@
virtual void* AllocatePayloadBuffer(size_t size) = 0;
// Releases a buffer previously allocated via AllocatePayloadBuffer.
- virtual void ReleasePayloadBuffer(size_t size, void* buffer) = 0;
+ virtual void ReleasePayloadBuffer(void* buffer) = 0;
};
} // namespace media
diff --git a/services/media/framework_ffmpeg/ffmpeg_decoder_base.h b/services/media/framework_ffmpeg/ffmpeg_decoder_base.h
index 63dd2ed..e829fca 100644
--- a/services/media/framework_ffmpeg/ffmpeg_decoder_base.h
+++ b/services/media/framework_ffmpeg/ffmpeg_decoder_base.h
@@ -57,7 +57,7 @@
if (size_ != 0) {
DCHECK(buffer_ != nullptr);
- allocator_->ReleasePayloadBuffer(size_, buffer_);
+ allocator_->ReleasePayloadBuffer(buffer_);
return;
}
diff --git a/services/media/framework_mojo/mojo_allocator.cc b/services/media/framework_mojo/mojo_allocator.cc
index 6622357..65298fd 100644
--- a/services/media/framework_mojo/mojo_allocator.cc
+++ b/services/media/framework_mojo/mojo_allocator.cc
@@ -13,8 +13,8 @@
return AllocateRegion(size);
}
-void MojoAllocator::ReleasePayloadBuffer(size_t size, void* buffer) {
- ReleaseRegion(size, buffer);
+void MojoAllocator::ReleasePayloadBuffer(void* buffer) {
+ ReleaseRegion(buffer);
}
} // namespace media
diff --git a/services/media/framework_mojo/mojo_allocator.h b/services/media/framework_mojo/mojo_allocator.h
index 75a8371..a32d600 100644
--- a/services/media/framework_mojo/mojo_allocator.h
+++ b/services/media/framework_mojo/mojo_allocator.h
@@ -20,7 +20,7 @@
// PayloadAllocator implementation.
void* AllocatePayloadBuffer(size_t size) override;
- void ReleasePayloadBuffer(size_t size, void* buffer) override;
+ void ReleasePayloadBuffer(void* buffer) override;
};
} // namespace media