int mm_tsid_checks;
int mm_tsid_accept_zero_value;
tvhlog_limit_t mm_tsid_loglimit;
+ int64_t mm_start_monoclock;
int mm_update_pids_flag;
mtimer_t mm_update_pids_timer;
/* Start */
tvhdebug(LS_MPEGTS, "%s - started", buf);
+ mm->mm_start_monoclock = mclk();
mi->mi_started_mux(mi, mmi);
/* Event handler */
mm_cmp ( mpegts_mux_t *a, mpegts_mux_t *b )
{
int r = b->mm_scan_weight - a->mm_scan_weight;
- if (r == 0)
- return mpegts_mux_compare(a, b);
+ if (r == 0) {
+ r = MINMAX(-1, 1, b->mm_start_monoclock - a->mm_start_monoclock);
+ if (r == 0)
+ return mpegts_mux_compare(a, b);
+ }
return r;
}