]> git.sesse.net Git - vlc/blobdiff - src/audio_output/dec.c
threads: Make sure we don't re-create a thread if the object has already one.
[vlc] / src / audio_output / dec.c
index 60dde424daf181a68197e90d4ed78f185bb5a82a..a9eb16ac117172f9050c36a25dd69513afe74856 100644 (file)
@@ -57,14 +57,25 @@ static aout_input_t * DecNew( vlc_object_t * p_this, aout_instance_t * p_aout,
     {
         msg_Err( p_aout, "too many audio channels (%u)",
                  p_format->i_channels );
-        goto error;
+        return NULL;
+    }
+    if( p_format->i_channels <= 0 )
+    {
+        msg_Err( p_aout, "no audio channels" );
+        return NULL;
     }
 
     if( p_format->i_rate > 192000 )
     {
         msg_Err( p_aout, "excessive audio sample frequency (%u)",
                  p_format->i_rate );
-        goto error;
+        return NULL;
+    }
+    if( p_format->i_rate < 4000 )
+    {
+        msg_Err( p_aout, "too low audio sample frequency (%u)",
+                 p_format->i_rate );
+        return NULL;
     }
 
     /* We can only be called by the decoder, so no need to lock