Commit 056ee009 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

ALSA: allocate PCM status on the stack

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