Commit a3875cd4 authored by Michel Kaempf's avatar Michel Kaempf

* audio_decoder/audio_decoder.c :

- Correction d'un bug concernant la d�cision de d�coder ou non une
nouvelle frame audio ;

-- MaXX
parent 96f414c1
...@@ -816,7 +816,6 @@ static void RunThread( adec_thread_t * p_adec ) ...@@ -816,7 +816,6 @@ static void RunThread( adec_thread_t * p_adec )
} }
else else
{ {
/* adec_Layer2_Stereo() produces 6 output frames (2*1152/384) */
// i_header = p_adec->bit_stream.fifo.buffer; // i_header = p_adec->bit_stream.fifo.buffer;
// i_framesize = pi_framesize[ 128*((i_header & ADEC_HEADER_LAYER_MASK) >> ADEC_HEADER_LAYER_SHIFT) + // i_framesize = pi_framesize[ 128*((i_header & ADEC_HEADER_LAYER_MASK) >> ADEC_HEADER_LAYER_SHIFT) +
// 64*((i_header & ADEC_HEADER_PADDING_BIT_MASK) >> ADEC_HEADER_PADDING_BIT_SHIFT) + // 64*((i_header & ADEC_HEADER_PADDING_BIT_MASK) >> ADEC_HEADER_PADDING_BIT_SHIFT) +
...@@ -835,8 +834,12 @@ static void RunThread( adec_thread_t * p_adec ) ...@@ -835,8 +834,12 @@ static void RunThread( adec_thread_t * p_adec )
// } // }
pthread_mutex_lock( &p_adec->p_aout_fifo->data_lock ); pthread_mutex_lock( &p_adec->p_aout_fifo->data_lock );
/* (((end + 6) - start) & AOUT_FIFO_SIZE) < 6 */ /* adec_Layer2_Stereo() produces 6 output frames (2*1152/384)...
while ( ((p_adec->p_aout_fifo->l_start_frame - p_adec->p_aout_fifo->l_end_frame) & AOUT_FIFO_SIZE) < 6 ) /* !! */ * If these 6 frames would be recorded in the audio output fifo,
* the l_end_frame index would be incremented 6 times. But, if after
* this operation the audio output fifo would contain less than 6 frames,
* it would mean that we had not enough room to store the 6 frames :-P */
while ( (((p_adec->p_aout_fifo->l_end_frame + 6) - p_adec->p_aout_fifo->l_start_frame) & AOUT_FIFO_SIZE) < 6 ) /* !! */
{ {
pthread_cond_wait( &p_adec->p_aout_fifo->data_wait, &p_adec->p_aout_fifo->data_lock ); pthread_cond_wait( &p_adec->p_aout_fifo->data_wait, &p_adec->p_aout_fifo->data_lock );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment