From: <tr...@ff...> - 2008-01-19 18:33:42
|
Author: ppalmers Date: 2008-01-19 10:33:37 -0800 (Sat, 19 Jan 2008) New Revision: 858 Modified: trunk/libffado/src/libutil/TimestampedBuffer.cpp trunk/libffado/src/libutil/TimestampedBuffer.h Log: minor fixes Modified: trunk/libffado/src/libutil/TimestampedBuffer.cpp =================================================================== --- trunk/libffado/src/libutil/TimestampedBuffer.cpp 2008-01-19 12:11:20 UTC (rev 857) +++ trunk/libffado/src/libutil/TimestampedBuffer.cpp 2008-01-19 18:33:37 UTC (rev 858) @@ -75,6 +75,8 @@ } TimestampedBuffer::~TimestampedBuffer() { + pthread_mutex_destroy(&m_framecounter_lock); + ffado_ringbuffer_free(m_event_buffer); free(m_process_buffer); } @@ -262,7 +264,8 @@ * @return the internal buffer fill in frames */ unsigned int TimestampedBuffer::getBufferFill() { - return ffado_ringbuffer_read_space(m_event_buffer)/(m_bytes_per_frame); + //return ffado_ringbuffer_read_space(m_event_buffer)/(m_bytes_per_frame); + return m_framecounter; } /** @@ -275,7 +278,9 @@ * @return the internal buffer fill in frames */ unsigned int TimestampedBuffer::getBufferSpace() { - return ffado_ringbuffer_write_space(m_event_buffer)/(m_bytes_per_frame); + //return ffado_ringbuffer_write_space(m_event_buffer)/(m_bytes_per_frame); + assert(m_buffer_size-m_framecounter >= 0); + return m_buffer_size-m_framecounter; } /** @@ -354,7 +359,7 @@ // this will init the internal timestamps to a sensible value setBufferTailTimestamp(m_buffer_tail_timestamp); - + return true; } @@ -1084,7 +1089,7 @@ * * @param nbframes number of frames to decrement */ -void TimestampedBuffer::decrementFrameCounter(int nbframes) { +void TimestampedBuffer::decrementFrameCounter(unsigned int nbframes) { ENTER_CRITICAL_SECTION; m_framecounter -= nbframes; EXIT_CRITICAL_SECTION; @@ -1100,7 +1105,7 @@ * @param nbframes the number of frames to add * @param new_timestamp the new timestamp */ -void TimestampedBuffer::incrementFrameCounter(int nbframes, ffado_timestamp_t new_timestamp) { +void TimestampedBuffer::incrementFrameCounter(unsigned int nbframes, ffado_timestamp_t new_timestamp) { // add the offsets ffado_timestamp_t diff; Modified: trunk/libffado/src/libutil/TimestampedBuffer.h =================================================================== --- trunk/libffado/src/libutil/TimestampedBuffer.h 2008-01-19 12:11:20 UTC (rev 857) +++ trunk/libffado/src/libutil/TimestampedBuffer.h 2008-01-19 18:33:37 UTC (rev 858) @@ -26,6 +26,7 @@ #include "../debugmodule/debugmodule.h" #include "libutil/ringbuffer.h" +#include <pthread.h> //typedef float ffado_timestamp_t; //#define TIMESTAMP_FORMAT_SPEC "%14.3f" @@ -158,8 +159,8 @@ void setVerboseLevel ( int l ) {setDebugLevel ( l );}; private: - void decrementFrameCounter ( int nbframes ); - void incrementFrameCounter ( int nbframes, ffado_timestamp_t new_timestamp ); + void decrementFrameCounter(unsigned int nbframes); + void incrementFrameCounter(unsigned int nbframes, ffado_timestamp_t new_timestamp); void resetFrameCounter(); protected: |