BufferCache: More strict validity checks
* This add a debugger call if the BBuffer id is mismatched at object creation.
This commit is contained in:
@@ -45,11 +45,15 @@ BufferCache::GetBuffer(media_buffer_id id)
|
|||||||
buffer_clone_info info;
|
buffer_clone_info info;
|
||||||
info.buffer = id;
|
info.buffer = id;
|
||||||
BBuffer* buffer = new(std::nothrow) BBuffer(info);
|
BBuffer* buffer = new(std::nothrow) BBuffer(info);
|
||||||
if (buffer == NULL || buffer->Data() == NULL) {
|
if (buffer == NULL || buffer->ID() <= 0
|
||||||
|
|| buffer->Data() == NULL) {
|
||||||
delete buffer;
|
delete buffer;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (buffer->ID() != id)
|
||||||
|
debugger("BufferCache::GetBuffer: IDs mismatch");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
fMap.insert(std::make_pair(id, buffer));
|
fMap.insert(std::make_pair(id, buffer));
|
||||||
} catch (std::bad_alloc& exception) {
|
} catch (std::bad_alloc& exception) {
|
||||||
|
|||||||
Reference in New Issue
Block a user