/*
|
* frames.c
|
*
|
* Created on: 2021Äê11ÔÂ2ÈÕ
|
* Author: graydon
|
*/
|
#include <iostream>
|
#include "frames.h"
|
#include "config.h"
|
#include "../drv/memory.h"
|
|
|
Frames::Frames()
|
{
|
|
}
|
Frames::~Frames() {
|
for (std::vector<Frame*>::iterator iter = dataFrame.begin();
|
iter != dataFrame.end();iter++)
|
{
|
delete *iter;
|
}
|
dataFrame.clear();
|
}
|
|
Frames::Frames(int num)
|
{
|
for (int i = 0; i < num; i++) {
|
Frame* pcm = new Frame(SAMPLE_NUM);
|
|
if (pcm == NULL) {
|
std::cout << "alloc frame fail.\n";
|
break;
|
}
|
pcm->Clear();
|
dataFrame.push_back(pcm);
|
}
|
}
|
|
Frame* Frames::GetFrame(int channel)
|
{
|
if (channel >= dataFrame.size()) {
|
std::cout<<"GetChannelPcmPtr channel over range.\n";
|
return NULL;
|
}
|
return dataFrame[channel];
|
}
|
|
Frame* Frames::AllocFrame()
|
{
|
Frame* pcm = new Frame(SAMPLE_NUM);
|
|
if (pcm == NULL) {
|
std::cout << "alloc frame fail.\n";
|
return NULL;
|
}
|
pcm->Clear();
|
dataFrame.push_back(pcm);
|
return pcm;
|
}
|