]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts table destroy: move the data free calls to the release routine
authorJaroslav Kysela <perex@perex.cz>
Sat, 26 Jul 2014 13:16:13 +0000 (15:16 +0200)
committerJaroslav Kysela <perex@perex.cz>
Sat, 26 Jul 2014 13:16:13 +0000 (15:16 +0200)
src/input/mpegts/mpegts_table.c

index 4fea27c19d515ce47a3c2d241efa0a71ed567d92..e9e73a5b857f7af72cc8c755eebe4d91123c70d6 100644 (file)
@@ -107,6 +107,14 @@ mpegts_table_dispatch
 void
 mpegts_table_release_ ( mpegts_table_t *mt )
 {
+  struct mpegts_table_state *st;
+
+  while ((st = RB_FIRST(&mt->mt_state))) {
+    RB_REMOVE(&mt->mt_state, st, link);
+    free(st);
+  }
+  if (mt->mt_destroy)
+    mt->mt_destroy(mt);
   free(mt->mt_name);
   free(mt);
 }
@@ -114,15 +122,8 @@ mpegts_table_release_ ( mpegts_table_t *mt )
 void
 mpegts_table_destroy ( mpegts_table_t *mt )
 {
-  struct mpegts_table_state *st;
   mt->mt_destroyed = 1;
   mt->mt_mux->mm_close_table(mt->mt_mux, mt);
-  while ((st = RB_FIRST(&mt->mt_state))) {
-    RB_REMOVE(&mt->mt_state, st, link);
-    free(st);
-  }
-  if (mt->mt_destroy)
-    mt->mt_destroy(mt);
   mpegts_table_release(mt);
 }