[vlc-devel] commit: ALSA: allocate PCM status on the stack ( Rémi Denis-Courmont )

git version control git at videolan.org
Sat Oct 24 15:26:39 CEST 2009


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Oct 24 15:26:42 2009 +0300| [056ee00996e19ea8dd9ef7091a4b5de50d0cf4ba] | committer: Rémi Denis-Courmont 

ALSA: allocate PCM status on the stack

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

 modules/audio_output/alsa.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c
index c479d3a..0c25cac 100644
--- a/modules/audio_output/alsa.c
+++ b/modules/audio_output/alsa.c
@@ -68,8 +68,6 @@ struct aout_sys_t
 
     vlc_mutex_t lock;
     vlc_cond_t  wait ;
-
-    snd_pcm_status_t *p_status;
 };
 
 #define A52_FRAME_NB 1536
@@ -745,7 +743,6 @@ static void* ALSAThread( vlc_object_t* p_this )
     aout_instance_t * p_aout = (aout_instance_t*)p_this;
     struct aout_sys_t * p_sys = p_aout->output.p_sys;
     int canc = vlc_savecancel ();
-    p_sys->p_status = (snd_pcm_status_t *)malloc(snd_pcm_status_sizeof());
 
     /* Wait for the exact time to start playing (avoids resampling) */
     vlc_mutex_lock( &p_sys->lock );
@@ -765,7 +762,6 @@ static void* ALSAThread( vlc_object_t* p_this )
 
 cleanup:
     snd_pcm_drop( p_sys->p_snd_pcm );
-    free( p_aout->output.p_sys->p_status );
     vlc_restorecancel (canc);
     return NULL;
 }
@@ -777,13 +773,14 @@ static void ALSAFill( aout_instance_t * p_aout )
 {
     struct aout_sys_t * p_sys = p_aout->output.p_sys;
     aout_buffer_t * p_buffer;
-    snd_pcm_status_t * p_status = p_sys->p_status;
+    snd_pcm_status_t * p_status;
     int i_snd_rc;
     mtime_t next_date;
 
     /* Fill in the buffer until space or audio output buffer shortage */
 
     /* Get the status */
+    snd_pcm_status_alloca(&p_status);
     i_snd_rc = snd_pcm_status( p_sys->p_snd_pcm, p_status );
     if( i_snd_rc < 0 )
     {




More information about the vlc-devel mailing list