aboutsummaryrefslogtreecommitdiff
path: root/FifoAudioFrames.h
diff options
context:
space:
mode:
authorN.N <matju@users.sourceforge.net>2009-12-14 19:55:54 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:04:53 +0200
commitc235f09fc5ef83827ac53375015f469cd7e13eec (patch)
tree4639e88e27e105709a2bbd6352cec17808fdc5c9 /FifoAudioFrames.h
parent40194041a1efbf98c45185098e3795150a0128a4 (diff)
import version 0.36
svn path=/trunk/externals/august/readanysf~/; revision=12836
Diffstat (limited to 'FifoAudioFrames.h')
-rw-r--r--FifoAudioFrames.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/FifoAudioFrames.h b/FifoAudioFrames.h
new file mode 100644
index 0000000..44583c8
--- /dev/null
+++ b/FifoAudioFrames.h
@@ -0,0 +1,41 @@
+#ifndef _FIFOAUDIOFRAMES_H_
+#define _FIFOAUDIOFRAMES_H_
+
+#include <string.h> // memcpy
+#include <stdio.h>
+#include <pthread.h>
+
+#ifndef _AVDEC_H_
+#define _AVDEC_H_
+extern "C" {
+#include <avdec.h>
+}
+#endif
+
+class Fifo {
+ public:
+ Fifo(int s, gavl_audio_format_t * format) ;
+ ~Fifo();// { delete [] fifoPtr; }
+ bool Append( gavl_audio_frame_t * af);
+ bool Get( gavl_audio_frame_t * af) ; // pop an element off the fifo
+ void Flush();
+ //void Dump(char *c);
+ bool FreeSpace();
+ bool isEmpty();
+ bool isFull();
+ void setDebug( bool b);
+ gavl_audio_format_t * getFormat();
+ float getSizePercentage();
+ private:
+ int size ; // Number of elements on Fifo
+ int start ;
+ int end ;
+ int count;
+ gavl_audio_frame_t ** fifoPtr ;
+ gavl_audio_format_t * format;
+ pthread_mutex_t mut;
+} ;
+
+
+#endif
+