if ( gop->released ) {
dbg_print (dbg_gop,3,dbg_facility,"analize_pdu: start on released gop, a new gop");
g_hash_table_remove(cfg->gop_index,gop_key);
+ gop->gop_key = NULL;
gop = new_gop(cfg,pdu,gop_key);
g_hash_table_insert(cfg->gop_index,gop_key,gop);
} else {
static void init_mate(void) {
GString* tap_error = NULL;
- tap_error = register_tap_listener("frame", &mate_tap_data,
- (char*) mc->tap_filter,
- (tap_reset_cb) NULL,
- mate_packet,
- (tap_draw_cb) NULL);
+ if ( ! mate_tap_data ) {
+ tap_error = register_tap_listener("frame", &mate_tap_data,
+ (char*) mc->tap_filter,
+ (tap_reset_cb) NULL,
+ mate_packet,
+ (tap_draw_cb) NULL);
+ }
if ( tap_error ) {
g_warning("mate: couldn't (re)register tap: %s",tap_error->str);