54
|
1 #include <stdio.h>
|
|
2 #include <stdlib.h>
|
|
3 #include "DmaBuffer.h"
|
|
4
|
|
5 DmaBuffer::DmaBuffer(int size)
|
|
6 // :(buffer[0])(buf1), (buffer[1])(buf2), flag(0) {};
|
|
7 {
|
|
8 buffer[0] = malloc(size);
|
|
9 buffer[1] = malloc(size);
|
|
10 flag = 0;
|
|
11 }
|
|
12
|
|
13 DmaBuffer::~DmaBuffer(void)
|
|
14 {
|
|
15 free(buffer[0]);
|
|
16 free(buffer[1]);
|
|
17 }
|
|
18
|
|
19 void
|
|
20 DmaBuffer::swap_buffer(void)
|
|
21 {
|
|
22 flag ^= 1;
|
|
23 }
|
|
24
|
|
25 void
|
|
26 DmaBuffer::get_buffer(void *_dst)
|
|
27 {
|
|
28 void **dst = (void**)_dst;
|
|
29 *dst = buffer[flag];
|
|
30 }
|