vlc | branch: master | KO Myung-Hun <[email protected]> | Sun Mar  3 02:09:35 
2013 +0900| [8d5cdf7f063d25c013307ef5519408f9e18cda6f] | committer: Rémi 
Denis-Courmont

kai: enlarge an audio buffer size to AOUT_MAX_ADVANCE_TIME

And add a comment for a condition falling into a indefinite lock.

Signed-off-by: Rémi Denis-Courmont <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8d5cdf7f063d25c013307ef5519408f9e18cda6f
---

 modules/audio_output/kai.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/modules/audio_output/kai.c b/modules/audio_output/kai.c
index 20b995b..18985dc 100644
--- a/modules/audio_output/kai.c
+++ b/modules/audio_output/kai.c
@@ -37,7 +37,7 @@
 
 #define FRAME_SIZE 2048
 
-#define AUDIO_BUFFER_SIZE ( 64 * 1024 )
+#define AUDIO_BUFFER_SIZE_IN_SECONDS ( AOUT_MAX_ADVANCE_TIME / CLOCK_FREQ )
 
 struct audio_buffer_t
 {
@@ -225,7 +225,8 @@ static int Start ( audio_output_t *p_aout, 
audio_sample_format_t *fmt )
 
     aout_SoftVolumeStart( p_aout );
 
-    CreateBuffer( p_aout, AUDIO_BUFFER_SIZE );
+    CreateBuffer( p_aout, AUDIO_BUFFER_SIZE_IN_SECONDS *
+                          format.i_rate * format.i_bytes_per_frame );
 
     if ( var_Type( p_aout, "audio-device" ) == 0 )
     {
@@ -458,6 +459,9 @@ static int WriteBuffer( audio_output_t *aout, uint8_t 
*data, int size )
 
     vlc_mutex_lock( &buffer->mutex );
 
+    /* FIXME :
+     * If size is larger than buffer->size, this is locked indefinitely.
+     */
     while( buffer->length + size > buffer->size )
         vlc_cond_wait( &buffer->cond, &buffer->mutex );
 

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to