From: Jaroslav Kysela Date: Fri, 13 May 2016 07:23:27 +0000 (+0200) Subject: memoryinfo: add 'MPEG-TS table queue' entry X-Git-Tag: v4.2.1~512 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99f199f4011bcdaf9c7bd3e0503647d56f29c61d;p=thirdparty%2Ftvheadend.git memoryinfo: add 'MPEG-TS table queue' entry --- diff --git a/src/input/mpegts.c b/src/input/mpegts.c index 8f51bbde4..72265cde5 100644 --- a/src/input/mpegts.c +++ b/src/input/mpegts.c @@ -21,6 +21,7 @@ #include "memoryinfo.h" extern memoryinfo_t mpegts_input_queue_memoryinfo; +extern memoryinfo_t mpegts_input_table_memoryinfo; void mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client, @@ -35,6 +36,7 @@ mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client, /* Memory info */ memoryinfo_register(&mpegts_input_queue_memoryinfo); + memoryinfo_register(&mpegts_input_table_memoryinfo); /* FastScan init */ dvb_fastscan_init(); diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index d95586e9f..a9d599a9b 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -34,6 +34,7 @@ #include memoryinfo_t mpegts_input_queue_memoryinfo = { .my_name = "MPEG-TS input queue" }; +memoryinfo_t mpegts_input_table_memoryinfo = { .my_name = "MPEG-TS table queue" }; static void mpegts_input_del_network ( mpegts_network_link_t *mnl ); @@ -1389,6 +1390,7 @@ mpegts_input_process memcpy(mtf->mtf_tsb, tsb, llen); mtf->mtf_mux = mm; mi->mi_table_queue_size += llen; + memoryinfo_alloc(&mpegts_input_table_memoryinfo, sizeof(mpegts_table_feed_t) + llen); TAILQ_INSERT_TAIL(&mi->mi_table_queue, mtf, mtf_link); table_wakeup = 1; } @@ -1527,6 +1529,7 @@ mpegts_input_thread ( void * p ) /* Flush */ while ((mp = TAILQ_FIRST(&mi->mi_input_queue))) { + memoryinfo_free(&mpegts_input_queue_memoryinfo, sizeof(mpegts_packet_t) + mp->mp_len); TAILQ_REMOVE(&mi->mi_input_queue, mp, mp_link); free(mp); } @@ -1553,6 +1556,7 @@ mpegts_input_table_thread ( void *aux ) continue; } mi->mi_table_queue_size -= mtf->mtf_len; + memoryinfo_free(&mpegts_input_table_memoryinfo, sizeof(mpegts_table_feed_t) + mtf->mtf_len); TAILQ_REMOVE(&mi->mi_table_queue, mtf, mtf_link); pthread_mutex_unlock(&mi->mi_output_lock); @@ -1576,6 +1580,7 @@ mpegts_input_table_thread ( void *aux ) /* Flush */ while ((mtf = TAILQ_FIRST(&mi->mi_table_queue)) != NULL) { + memoryinfo_free(&mpegts_input_table_memoryinfo, sizeof(mpegts_table_feed_t) + mtf->mtf_len); TAILQ_REMOVE(&mi->mi_table_queue, mtf, mtf_link); free(mtf); }