/* 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 */ #include "audioDataArray.h" #include using namespace std; AudioDataArray::AudioDataArray(int entries) { this->entries=entries; fillgrade=0; readPos=0; writePos=0; pcmSum=0; abs_thread_mutex_init(&writeInMut); abs_thread_mutex_init(&changeMut); audioDataArray=new AudioData*[entries]; int i; for(i=0;igetPCMLen(); readPos++; fillgrade--; if (readPos == entries-1) { readPos=0; } } int AudioDataArray::getPCMSum() { return pcmSum; } int AudioDataArray::insertAudioData(AudioData* src) { lockStampArray(); int back=true; src->copyTo(audioDataArray[writePos]); pcmSum+=src->getPCMLen(); writePos++; fillgrade++; if (writePos == entries-1) { writePos=0; } if (fillgrade == entries) { cout <<" Audiodata::array overfull forward"<