From: Jaroslav Kysela Date: Mon, 2 Feb 2015 20:26:07 +0000 (+0100) Subject: matroska muxer: update total duration using only audio/video tracks X-Git-Tag: v4.1~386 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7a2560e642db31eacfe0e1f058e3a30504bc6fcf;p=thirdparty%2Ftvheadend.git matroska muxer: update total duration using only audio/video tracks --- diff --git a/src/muxer/tvh/mkmux.c b/src/muxer/tvh/mkmux.c index aaad9b048..5f091939f 100644 --- a/src/muxer/tvh/mkmux.c +++ b/src/muxer/tvh/mkmux.c @@ -51,6 +51,7 @@ typedef struct mk_track { int avc; int type; int tracknum; + int tracktype; int disabled; int64_t nextpts; @@ -334,6 +335,7 @@ mk_build_tracks(mk_mux_t *mkm, const streaming_start_t *ss) } tr->tracknum = ++tracknum; + tr->tracktype = tracktype; mkm->has_video |= (tracktype == 1); t = htsbuf_queue_alloc(0); @@ -976,7 +978,7 @@ mk_write_frame_i(mk_mux_t *mkm, mk_track_t *t, th_pkt_t *pkt) nxt = ts_rescale(t->nextpts, 1000000000 / MATROSKA_TIMESCALE); pts = ts_rescale(pts, 1000000000 / MATROSKA_TIMESCALE); - if(mkm->totduration < nxt) + if((t->tracktype == 1 || t->tracktype == 2) && mkm->totduration < nxt) mkm->totduration = nxt; delta = pts - mkm->cluster_tc;