]> git.sesse.net Git - vlc/commitdiff
aout: fix infinite loop on error (fixes #7711)
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 13 Nov 2012 20:48:53 +0000 (22:48 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Tue, 13 Nov 2012 20:48:53 +0000 (22:48 +0200)
src/audio_output/dec.c

index 8d72e27fff1dc5e9e57ca0cb3bf13083062c1cc8..348bc437b53d102d7b85607e7659797f2809d39c 100644 (file)
@@ -67,7 +67,6 @@ int aout_DecNew( audio_output_t *p_aout,
     }
 
     aout_owner_t *owner = aout_owner(p_aout);
-    int ret = 0;
 
     /* TODO: reduce lock scope depending on decoder's real need */
     aout_lock( p_aout );
@@ -92,8 +91,8 @@ int aout_DecNew( audio_output_t *p_aout,
         aout_OutputDelete (p_aout);
 error:
         aout_volume_Delete (owner->volume);
-        ret = -1;
-        goto error;
+        aout_unlock (p_aout);
+        return -1;
     }
 
     owner->sync.end = VLC_TS_INVALID;
@@ -102,8 +101,7 @@ error:
     aout_unlock( p_aout );
 
     atomic_init (&owner->buffers_lost, 0);
-
-    return ret;
+    return 0;
 }
 
 /**