From: Jaroslav Kysela Date: Fri, 13 May 2016 07:00:46 +0000 (+0200) Subject: memoryinfo: add mpegts input queue entry X-Git-Tag: v4.2.1~514 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c195db2b81293c013f05670c15cd394f4d5d8b12;p=thirdparty%2Ftvheadend.git memoryinfo: add mpegts input queue entry --- diff --git a/src/input/mpegts.c b/src/input/mpegts.c index 3d7687593..8f51bbde4 100644 --- a/src/input/mpegts.c +++ b/src/input/mpegts.c @@ -18,6 +18,9 @@ #include "input.h" #include "mpegts/fastscan.h" +#include "memoryinfo.h" + +extern memoryinfo_t mpegts_input_queue_memoryinfo; void mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client, @@ -30,6 +33,9 @@ mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client, idclass_register(&mpegts_service_class); idclass_register(&mpegts_service_raw_class); + /* Memory info */ + memoryinfo_register(&mpegts_input_queue_memoryinfo); + /* FastScan init */ dvb_fastscan_init(); diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index 656b471fa..762776ee5 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -26,12 +26,14 @@ #include "notify.h" #include "idnode.h" #include "dbus.h" +#include "memoryinfo.h" #include #include #include #include +memoryinfo_t mpegts_input_queue_memoryinfo = { .my_name = "MPEG-TS input queue" }; static void mpegts_input_del_network ( mpegts_network_link_t *mnl ); @@ -1121,6 +1123,7 @@ retry: pthread_mutex_lock(&mi->mi_input_lock); if (mmi->mmi_mux->mm_active == mmi) { + memoryinfo_alloc(&mpegts_input_queue_memoryinfo, sizeof(mpegts_packet_t) + len2); TAILQ_INSERT_TAIL(&mi->mi_input_queue, mp, mp_link); tvh_cond_signal(&mi->mi_input_cond, 0); } else { @@ -1470,6 +1473,7 @@ mpegts_input_thread ( void * p ) tvh_cond_wait(&mi->mi_input_cond, &mi->mi_input_lock); continue; } + memoryinfo_free(&mpegts_input_queue_memoryinfo, sizeof(mpegts_packet_t) + mp->mp_len); TAILQ_REMOVE(&mi->mi_input_queue, mp, mp_link); pthread_mutex_unlock(&mi->mi_input_lock);