mpegts table destroy: move the data free calls to the release routine
This commit is contained in:
parent
98473cd229
commit
52e5d7ff3f
1 changed files with 8 additions and 7 deletions
|
@ -107,6 +107,14 @@ mpegts_table_dispatch
|
||||||
void
|
void
|
||||||
mpegts_table_release_ ( mpegts_table_t *mt )
|
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->mt_name);
|
||||||
free(mt);
|
free(mt);
|
||||||
}
|
}
|
||||||
|
@ -114,15 +122,8 @@ mpegts_table_release_ ( mpegts_table_t *mt )
|
||||||
void
|
void
|
||||||
mpegts_table_destroy ( mpegts_table_t *mt )
|
mpegts_table_destroy ( mpegts_table_t *mt )
|
||||||
{
|
{
|
||||||
struct mpegts_table_state *st;
|
|
||||||
mt->mt_destroyed = 1;
|
mt->mt_destroyed = 1;
|
||||||
mt->mt_mux->mm_close_table(mt->mt_mux, mt);
|
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);
|
mpegts_table_release(mt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue