service: Plug memory leak
This commit is contained in:
parent
a2cf987afa
commit
9338b9529e
1 changed files with 14 additions and 11 deletions
|
@ -110,18 +110,21 @@ stream_clean(elementary_stream_t *st)
|
||||||
st->es_global_data_len = 0;
|
st->es_global_data_len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
service_stream_destroy(service_t *t, elementary_stream_t *st)
|
service_stream_destroy(service_t *t, elementary_stream_t *es)
|
||||||
{
|
{
|
||||||
if(t->s_status == SERVICE_RUNNING)
|
if(t->s_status == SERVICE_RUNNING)
|
||||||
stream_clean(st);
|
stream_clean(es);
|
||||||
TAILQ_REMOVE(&t->s_components, st, es_link);
|
|
||||||
free(st->es_nicename);
|
avgstat_flush(&es->es_rate);
|
||||||
free(st);
|
avgstat_flush(&es->es_cc_errors);
|
||||||
|
|
||||||
|
TAILQ_REMOVE(&t->s_components, es, es_link);
|
||||||
|
free(es->es_nicename);
|
||||||
|
free(es);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -489,17 +492,17 @@ service_destroy(service_t *t)
|
||||||
free(t->s_provider);
|
free(t->s_provider);
|
||||||
free(t->s_dvb_charset);
|
free(t->s_dvb_charset);
|
||||||
|
|
||||||
while((st = TAILQ_FIRST(&t->s_components)) != NULL) {
|
while((st = TAILQ_FIRST(&t->s_components)) != NULL)
|
||||||
TAILQ_REMOVE(&t->s_components, st, es_link);
|
service_stream_destroy(t, st);
|
||||||
free(st->es_nicename);
|
|
||||||
free(st);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(t->s_pat_section);
|
free(t->s_pat_section);
|
||||||
free(t->s_pmt_section);
|
free(t->s_pmt_section);
|
||||||
|
|
||||||
sbuf_free(&t->s_tsbuf);
|
sbuf_free(&t->s_tsbuf);
|
||||||
|
|
||||||
|
avgstat_flush(&t->s_cc_errors);
|
||||||
|
avgstat_flush(&t->s_rate);
|
||||||
|
|
||||||
service_unref(t);
|
service_unref(t);
|
||||||
|
|
||||||
if(ch != NULL) {
|
if(ch != NULL) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue