blob: 81cebfeeff80f27d4a241f661e77b6b5bc9db672 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/*
fifo for audioData
Copyright (C) 1999 Martin Vogt
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by
the Free Software Foundation.
For more information look at the file COPYRIGHT in this package
*/
#ifndef __AUDIODATAARRAY_H
#define __AUDIODATAARRAY_H
#include "../util/abstract/abs_thread.h"
#include "audioData.h"
class AudioDataArray {
AudioData** audioDataArray;
int fillgrade;
int entries;
int writePos;
int readPos;
int pcmSum;
public:
AudioDataArray(int entries);
~AudioDataArray();
int insertAudioData(AudioData* src);
AudioData* readAudioData();
int getFillgrade();
int getPCMSum();
void forward();
void clear();
private:
void lockStampArray();
void unlockStampArray();
void internalForward();
abs_thread_mutex_t writeInMut;
abs_thread_mutex_t changeMut;
};
#endif
|