More code factorization
authorVitor Sessak <vitor1001@gmail.com>
Sun, 10 Feb 2008 18:04:55 +0000 (18:04 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Sun, 10 Feb 2008 18:04:55 +0000 (18:04 +0000)
Originally committed as revision 11900 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/formats.c

index d7d0322..b3873d7 100644 (file)
 static void merge_ref(AVFilterFormats *ret, AVFilterFormats *a)
 {
     int i;
 static void merge_ref(AVFilterFormats *ret, AVFilterFormats *a)
 {
     int i;
+
     for(i = 0; i < a->refcount; i ++) {
         ret->refs[ret->refcount] = a->refs[i];
         *ret->refs[ret->refcount++] = ret;
     }
     for(i = 0; i < a->refcount; i ++) {
         ret->refs[ret->refcount] = a->refs[i];
         *ret->refs[ret->refcount++] = ret;
     }
+
+    av_free(a->refs);
+    av_free(a->formats);
+    av_free(a);
 }
 
 AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
 }
 
 AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
@@ -58,14 +63,6 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
     merge_ref(ret, a);
     merge_ref(ret, b);
 
     merge_ref(ret, a);
     merge_ref(ret, b);
 
-    av_free(a->refs);
-    av_free(a->formats);
-    av_free(a);
-
-    av_free(b->refs);
-    av_free(b->formats);
-    av_free(b);
-
     return ret;
 }
 
     return ret;
 }