}
/* Free memory */
- free(im->mm_iptv_buffer.sb_data);
+ sbuf_free(&im->mm_iptv_buffer);
/* Clear bw limit */
LIST_FOREACH(mnl, &mi->mi_networks, mnl_mi_link) {
int fullmux;
tvhpoll_t *efd;
sbuf_t sb;
- sbuf_init_fixed(&sb, 18800);
/* Get MMI */
pthread_mutex_lock(&lfe->lfe_dvr_lock);
ev[1].fd = ev[1].data.fd = lfe->lfe_dvr_pipe.rd;
tvhpoll_add(efd, ev, 2);
+ /* Allocate memory */
+ sbuf_init_fixed(&sb, 18800);
+
/* Read */
while (tvheadend_running) {
nfds = tvhpoll_wait(efd, ev, 1, -1);
mpegts_input_recv_packets((mpegts_input_t*)lfe, mmi, &sb, 0, NULL, NULL);
}
+ sbuf_free(&sb);
tvhpoll_destroy(efd);
if (dmx != -1) close(dmx);
close(dvr);
mpegts_mux_instance_t *mmi;
tsfile_mux_instance_t *tmi;
- sbuf_init_fixed(&buf, 18800);
-
/* Open file */
pthread_mutex_lock(&global_lock);
ev.fd = ev.data.fd = mi->ti_thread_pipe.rd;
tvhpoll_add(efd, &ev, 1);
+ /* Alloc memory */
+ sbuf_init_fixed(&buf, 18800);
+
/* Get file length */
if (fstat(fd, &st)) {
tvhlog(LOG_ERR, "tsfile", "stat() failed %d (%s)",
}
exit:
+ sbuf_free(&buf);
tvhpoll_destroy(efd);
close(fd);
return NULL;