#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,
idclass_register(&mpegts_service_class);
idclass_register(&mpegts_service_raw_class);
+ /* Memory info */
+ memoryinfo_register(&mpegts_input_queue_memoryinfo);
+
/* FastScan init */
dvb_fastscan_init();
#include "notify.h"
#include "idnode.h"
#include "dbus.h"
+#include "memoryinfo.h"
#include <pthread.h>
#include <assert.h>
#include <fcntl.h>
#include <sys/stat.h>
+memoryinfo_t mpegts_input_queue_memoryinfo = { .my_name = "MPEG-TS input queue" };
static void
mpegts_input_del_network ( mpegts_network_link_t *mnl );
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 {
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);