|
|
|
@ -55,7 +55,7 @@ static int ao_fifo_open( ao_driver_t *this_gen, uint32_t bits, uint32_t rate, in
|
|
|
|
|
|
|
|
|
|
if ((mode & ao->capabilities) == 0)
|
|
|
|
|
{
|
|
|
|
|
fprintf( stderr, "fifo_audio_out: unsupported mode %08x\n", mode);
|
|
|
|
|
fprintf( stderr, "[xine_artsplugin audio_fifo_out] unsupported mode %08x\n", mode);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -158,8 +158,8 @@ static int ao_fifo_write( ao_driver_t *this_gen, int16_t *data, uint32_t num_fra
|
|
|
|
|
}
|
|
|
|
|
if (pthread_cond_timedwait( &ao->cond, &ao->write_mutex, &ts ) != 0)
|
|
|
|
|
{
|
|
|
|
|
fprintf( stderr, "fifo_audio_out: blocked for more than %d ms,\n", delay);
|
|
|
|
|
fprintf( stderr, "fifo_audio_out: %d sample(s) discarded.\n", num_frames);
|
|
|
|
|
fprintf( stderr, "[xine_artsplugin audio_fifo_out] blocked for more than %d ms,\n", delay);
|
|
|
|
|
fprintf( stderr, "[xine_artsplugin audio_fifo_out] %d sample(s) discarded.\n", num_frames);
|
|
|
|
|
pthread_mutex_unlock( &ao->write_mutex );
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
@ -343,7 +343,7 @@ unsigned long ao_fifo_read( void *ao_driver, unsigned char **buffer,
|
|
|
|
|
|
|
|
|
|
if (bytes_to_read > bytes_in_buffer)
|
|
|
|
|
{
|
|
|
|
|
fprintf( stderr, "fifo_audio_out: audio buffer underflow!\n" );
|
|
|
|
|
fprintf( stderr, "[xine_artsplugin audio_fifo_out] audio buffer underflow!\n" );
|
|
|
|
|
bytes_to_read = bytes_in_buffer - (bytes_in_buffer % ao->bytes_per_frame);
|
|
|
|
|
}
|
|
|
|
|
if ((ao->fifo_read_ptr + bytes_to_read) > ao->fifo_size)
|
|
|
|
|