Commit 8b573812 authored by Rafaël Carré's avatar Rafaël Carré

opensles: keep track of the number of buffers we use

parent 7d6cf033
...@@ -71,6 +71,8 @@ struct aout_sys_t ...@@ -71,6 +71,8 @@ struct aout_sys_t
vlc_mutex_t lock; vlc_mutex_t lock;
mtime_t length; mtime_t length;
int buffers;
/* audio buffered through opensles */ /* audio buffered through opensles */
block_t *p_chain; block_t *p_chain;
block_t **pp_last; block_t **pp_last;
...@@ -212,14 +214,15 @@ static int WriteBuffer(audio_output_t *p_aout) ...@@ -212,14 +214,15 @@ static int WriteBuffer(audio_output_t *p_aout)
if (r == SL_RESULT_SUCCESS) { if (r == SL_RESULT_SUCCESS) {
/* Remove that block from the list of audio not yet written */ /* Remove that block from the list of audio not yet written */
p_sys->buffers++;
p_sys->p_buffer_chain = next; p_sys->p_buffer_chain = next;
if (!p_sys->p_buffer_chain) if (!p_sys->p_buffer_chain)
p_sys->pp_buffer_last = &p_sys->p_buffer_chain; p_sys->pp_buffer_last = &p_sys->p_buffer_chain;
} else { } else {
/* Remove that block from the list of audio already written */ /* Remove that block from the list of audio already written */
msg_Err( p_aout, "error %lu%s (%d bytes)", r, (r == SL_RESULT_BUFFER_INSUFFICIENT) msg_Err( p_aout, "error %lu when writing %d bytes, %d/255 buffers occupied %s",
? " buffer insufficient" r, b->i_buffer, p_sys->buffers,
: "", b->i_buffer); (r == SL_RESULT_BUFFER_INSUFFICIENT) ? " (buffer insufficient)" : "");
p_sys->pp_last = pp_last_saved; p_sys->pp_last = pp_last_saved;
*pp_last_saved = p_last_saved; *pp_last_saved = p_last_saved;
...@@ -258,6 +261,7 @@ static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext ...@@ -258,6 +261,7 @@ static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext
assert (caller == p_sys->playerBufferQueue); assert (caller == p_sys->playerBufferQueue);
vlc_mutex_lock( &p_sys->lock ); vlc_mutex_lock( &p_sys->lock );
p_sys->buffers--;
p_block = p_sys->p_chain; p_block = p_sys->p_chain;
assert( p_block ); assert( p_block );
......
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