]> git.sesse.net Git - vlc/blobdiff - include/vlc_es.h
* include/vlc_es.h: s/es_format_Free/es_format_Clean.
[vlc] / include / vlc_es.h
index 637fe6349bdc5b361e4dae89be933a27372e8352..7e78bd1869c300854840eece1140f41ca997bba9 100644 (file)
@@ -2,7 +2,7 @@
  * vlc_es.h: Elementary stream formats descriptions
  *****************************************************************************
  * Copyright (C) 1999-2001 VideoLAN
- * $Id: vlc_es.h,v 1.8 2004/01/30 15:17:39 fenrir Exp $
+ * $Id: vlc_es.h,v 1.10 2004/02/07 00:33:08 gbazin Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -179,8 +179,10 @@ static inline void es_format_Init( es_format_t *fmt,
 static inline void es_format_Copy( es_format_t *dst, es_format_t *src )
 {
     memcpy( dst, src, sizeof( es_format_t ) );
-    if( src->psz_language )     dst->psz_language = strdup( src->psz_language );
-    if( src->psz_description )  dst->psz_description = strdup( src->psz_description );
+    if( src->psz_language )
+         dst->psz_language = strdup( src->psz_language );
+    if( src->psz_description )
+        dst->psz_description = strdup( src->psz_description );
     if( src->i_extra > 0 )
     {
         dst->p_extra = malloc( src->i_extra );
@@ -194,4 +196,16 @@ static inline void es_format_Copy( es_format_t *dst, es_format_t *src )
     }
 }
 
+static inline void es_format_Clean( es_format_t *fmt )
+{
+    if( fmt->psz_language ) free( fmt->psz_language );
+    fmt->psz_language = 0;
+    if( fmt->psz_description ) free( fmt->psz_description );
+    fmt->psz_description = 0;
+    if( fmt->i_extra > 0 ) free( fmt->p_extra );
+    fmt->i_extra = 0; fmt->p_extra = 0;
+    if( fmt->video.p_palette ) free( fmt->video.p_palette );
+    fmt->video.p_palette = 0;
+}
+
 #endif