mi = mm->mm_active->mmi_input;
LIST_INSERT_HEAD(&mm->mm_tables, mt, mt_link);
mm->mm_num_tables++;
+ mpegts_table_grab(mt);
pthread_mutex_unlock(&mm->mm_tables_lock);
pthread_mutex_lock(&mi->mi_output_lock);
if (subscribe) {
}
pthread_mutex_unlock(&mi->mi_output_lock);
pthread_mutex_lock(&mm->mm_tables_lock);
+ mpegts_table_release(mt);
}
void
if (mt->mt_defer_cmd) {
TAILQ_REMOVE(&mm->mm_defer_tables, mt, mt_defer_link);
mt->mt_defer_cmd = 0;
+ mpegts_table_release(mt);
}
mt->mt_subscribed = 0;
LIST_REMOVE(mt, mt_link);
mi = mm->mm_active->mmi_input;
LIST_REMOVE(mt, mt_link);
mm->mm_num_tables--;
+ mpegts_table_grab(mt);
pthread_mutex_unlock(&mm->mm_tables_lock);
pthread_mutex_lock(&mi->mi_output_lock);
if (mt->mt_subscribed) {
}
pthread_mutex_unlock(&mi->mi_output_lock);
pthread_mutex_lock(&mm->mm_tables_lock);
+ mpegts_table_release(mt);
}
/* **************************************************************************
RB_REMOVE(&mt->mt_state, st, link);
free(st);
}
+ tvhtrace("mpegts", "table: free %s %02X/%02X (%d) pid %04X (%d)",
+ mt->mt_name, mt->mt_table, mt->mt_mask, mt->mt_table,
+ mt->mt_pid, mt->mt_pid);
if (mt->mt_destroy)
mt->mt_destroy(mt);
free(mt->mt_name);
pthread_mutex_unlock(&mm->mm_tables_lock);
return mt;
}
- tvhtrace("mpegts", "add %s table %02X/%02X (%d) pid %04X (%d)",
+ tvhtrace("mpegts", "table: %s add %02X/%02X (%d) pid %04X (%d)",
name, tableid, mask, tableid, pid, pid);
/* Create */