mediabuffer.cpp

来自「VC++视频开发实例集锦(包括“远程视频监控”"语音识别系统&quot」· C++ 代码 · 共 80 行

CPP
80
字号

#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;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?