【VC开源代码栏目提醒】:以下是网学会员为您推荐的VC开源代码-MediaBuffer.cpp,希望本篇文章对您学习有所帮助。
#include "MediaBuffer.h"
#include <stdio.h>
MediaBuffer::MediaBuffer()
{
this->data = NULL;
this->size = 0;
}
MediaBuffer::~MediaBuffer()
{
}
void *MediaBuffer::GetData()
{
return this->data;
}
unsigned int MediaBuffer::GetSize()
{
return this->size;
}
MP_RESULT MediaBuffer::Alloc(int size)
{
unsigned int size_local;
if(this->data)
return MP_RESULT_ERROR;
this->size = size;
if(this->data != NULL) {
free(this->data);
}
this->data = (void *) new char[size];
if(this->data != NULL) {
memset(this->GetData(), 0, this->GetSize());
}
else {
return MP_RESULT_ERROR;
}
return MP_RESULT_OK;
}
MP_RESULT MediaBuffer::ReAlloc(int size)
{
if(!this->data)
return MP_RESULT_ERROR;
this->data = realloc(this->data, size);
this->size = size;
return MP_RESULT_OK;
}
MP_RESULT MediaBuffer::Free()
{
if(this->data)
free(this->data);
this->data = NULL;
return MP_RESULT_OK;
}