p_aout->p_sys->i_audio_end = 0;
- p_aout->p_sys->audio_buf = NULL;
+ p_aout->p_sys->audio_buf = malloc( OVERFLOWLIMIT );
/* Initialize some variables */
p_aout->psz_device = 0;
*****************************************************************************/
static long aout_GetBufInfo( aout_thread_t *p_aout, long l_buffer_limit )
{
+ if(l_buffer_limit > p_aout->p_sys->i_audio_end)
+ {
+ /* returning 0 here juste gives awful sound in the speakers :/ */
+ return( l_buffer_limit );
+ }
return( p_aout->p_sys->i_audio_end-l_buffer_limit);
}
{
memcpy(stream, p_sys->audio_buf, len);
memmove(p_sys->audio_buf, &(p_sys->audio_buf[len]), end-len);
- p_sys->audio_buf = realloc(p_sys->audio_buf, end-len);
p_sys->i_audio_end -= len;
}
}
p_aout->p_sys->i_audio_end += i_size;
p_aout->p_sys->audio_buf = audio_buf;
-
SDL_UnlockAudio(); /* go on callbacking */
}