]> git.sesse.net Git - vlc/commitdiff
* modules/demux/mkv.cpp: fixed memory leaks.
authorGildas Bazin <gbazin@videolan.org>
Tue, 6 Dec 2005 19:23:31 +0000 (19:23 +0000)
committerGildas Bazin <gbazin@videolan.org>
Tue, 6 Dec 2005 19:23:31 +0000 (19:23 +0000)
modules/demux/mkv.cpp

index 6aed601fa3948a91df1de52301d3b943b4167bb7..1f3f033ef9f4930d5fcb9881b762cef2bdc8d72a 100644 (file)
@@ -1041,21 +1041,14 @@ public:
             {
                 delete tracks[i_track]->p_compression_data;
             }
-            if( tracks[i_track]->fmt.psz_description )
-            {
-                free( tracks[i_track]->fmt.psz_description );
-            }
+            es_format_Clean( &tracks[i_track]->fmt );
+            if( tracks[i_track]->p_extra_data )
+                free( tracks[i_track]->p_extra_data );
             if( tracks[i_track]->psz_codec )
-            {
                 free( tracks[i_track]->psz_codec );
-            }
-            if( tracks[i_track]->fmt.psz_language )
-            {
-                free( tracks[i_track]->fmt.psz_language );
-            }
             delete tracks[i_track];
         }
-        
+
         if( psz_writing_application )
         {
             free( psz_writing_application );
@@ -1334,6 +1327,11 @@ public:
             delete opened_segments[i];
         for ( i=0; i<used_segments.size(); i++ )
             delete used_segments[i];
+        if( meta ) vlc_meta_Delete( meta );
+
+        while( titles.size() )
+        { vlc_input_title_Delete( titles.back() ); titles.pop_back();}
+
         vlc_mutex_destroy( &lock_demuxer );
     }