]> git.sesse.net Git - vlc/commitdiff
dc1394: factorize.
authorRémi Duraffort <ivoire@videolan.org>
Wed, 25 Nov 2009 14:32:10 +0000 (15:32 +0100)
committerRémi Duraffort <ivoire@videolan.org>
Thu, 3 Dec 2009 14:16:29 +0000 (15:16 +0100)
modules/access/dc1394.c

index 75a1146719c1ad6d3f09abb01e286888bbfeac20..e7dcfbb29d04f52f6c485638a9c171250ee1641e 100644 (file)
@@ -132,9 +132,6 @@ static int FindCamera( demux_sys_t *sys, demux_t *p_demux )
     {
         msg_Err(p_demux, "Can not ennumerate cameras");
         dc1394_camera_free_list (list);
-        dc1394_free( sys->p_dccontext );
-        free( sys );
-        p_demux->p_sys = NULL;
         return VLC_EGENERIC;
     }
 
@@ -142,9 +139,6 @@ static int FindCamera( demux_sys_t *sys, demux_t *p_demux )
     {
         msg_Err(p_demux, "Can not find cameras");
         dc1394_camera_free_list (list);
-        dc1394_free( sys->p_dccontext );
-        free( sys );
-        p_demux->p_sys = NULL;
         return VLC_EGENERIC;
     }
 
@@ -169,9 +163,6 @@ static int FindCamera( demux_sys_t *sys, demux_t *p_demux )
             msg_Err( p_demux, "Can't find camera with uid : 0x%llx.",
                      sys->selected_uid );
             dc1394_camera_free_list (list);
-            dc1394_free( sys->p_dccontext );
-            free( sys );
-            p_demux->p_sys = NULL;
             return VLC_EGENERIC;
         }
     }
@@ -180,9 +171,6 @@ static int FindCamera( demux_sys_t *sys, demux_t *p_demux )
         msg_Err( p_demux, "There are not this many cameras. (%d/%d)",
                  sys->selected_camera, sys->num_cameras );
         dc1394_camera_free_list (list);
-        dc1394_free( sys->p_dccontext );
-        free( sys );
-        p_demux->p_sys = NULL;
         return VLC_EGENERIC;
     }
     else if( sys->selected_camera >= 0 )
@@ -263,7 +251,12 @@ static int Open( vlc_object_t *p_this )
     }
 
     if( FindCamera( p_sys, p_demux ) != VLC_SUCCESS )
+    {
+        dc1394_free( p_sys->p_dccontext );
+        free( p_sys );
+        p_demux->p_sys = NULL;
         return VLC_EGENERIC;
+    }
 
     if( !p_sys->camera )
     {