vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Nov  6 
19:38:06 2012 +0200| [cf34a476e4b514bc072202f6333e53bdb09881a1] | committer: 
Rémi Denis-Courmont

scaletemp: setup filter_t only when successful

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

 modules/audio_filter/scaletempo.c |   27 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)

diff --git a/modules/audio_filter/scaletempo.c 
b/modules/audio_filter/scaletempo.c
index 0b76e18..7b05354 100644
--- a/modules/audio_filter/scaletempo.c
+++ b/modules/audio_filter/scaletempo.c
@@ -386,33 +386,12 @@ static int reinit_buffers( filter_t *p_filter )
 static int Open( vlc_object_t *p_this )
 {
     filter_t     *p_filter = (filter_t *)p_this;
-    filter_sys_t *p_sys;
-    bool b_fit = true;
-
-    if( p_filter->fmt_in.audio.i_format != VLC_CODEC_FL32 ||
-        p_filter->fmt_out.audio.i_format != VLC_CODEC_FL32 )
-    {
-        b_fit = false;
-        p_filter->fmt_in.audio.i_format = p_filter->fmt_out.audio.i_format = 
VLC_CODEC_FL32;
-        msg_Warn( p_filter, "bad input or output format" );
-    }
-    if( ! AOUT_FMTS_SIMILAR( &p_filter->fmt_in.audio, &p_filter->fmt_out.audio 
) )
-    {
-        b_fit = false;
-        memcpy( &p_filter->fmt_out.audio, &p_filter->fmt_in.audio, 
sizeof(audio_sample_format_t) );
-        msg_Warn( p_filter, "input and output formats are not similar" );
-    }
-
-    if( ! b_fit )
-        return VLC_EGENERIC;
 
     /* Allocate structure */
-    p_sys = p_filter->p_sys = malloc( sizeof(*p_sys) );
+    filter_sys_t *p_sys = p_filter->p_sys = malloc( sizeof(*p_sys) );
     if( ! p_sys )
         return VLC_ENOMEM;
 
-    p_filter->pf_audio_filter = DoWork;
-
     p_sys->scale             = 1.0;
     p_sys->sample_rate       = p_filter->fmt_in.audio.i_rate;
     p_sys->samples_per_frame = aout_FormatNbChannels( &p_filter->fmt_in.audio 
);
@@ -447,6 +426,10 @@ static int Open( vlc_object_t *p_this )
         Close( p_this );
         return VLC_EGENERIC;
     }
+
+    p_filter->fmt_in.audio.i_format = VLC_CODEC_FL32;
+    p_filter->fmt_out.audio = p_filter->fmt_in.audio;
+    p_filter->pf_audio_filter = DoWork;
     return VLC_SUCCESS;
 }
 

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

Reply via email to