From: Adam Sutton Date: Fri, 15 Nov 2013 14:00:12 +0000 (+0000) Subject: Merge branch 'master' into feature/dvb-rewrite X-Git-Tag: v4.1~2407 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=288adcc3bd8d25a9f4d27eaa40aaeb102a11dd7e;p=thirdparty%2Ftvheadend.git Merge branch 'master' into feature/dvb-rewrite Conflicts: src/input/mpegts/tsdemux.c --- 288adcc3bd8d25a9f4d27eaa40aaeb102a11dd7e diff --cc src/input/mpegts/tsdemux.c index ed0468f6e,5c4a78de1..c373d2f75 --- a/src/input/mpegts/tsdemux.c +++ b/src/input/mpegts/tsdemux.c @@@ -212,15 -208,15 +215,15 @@@ ts_recv_packet1(mpegts_service_t *t, co pid = (tsb[1] & 0x1f) << 8 | tsb[2]; - st = service_stream_find(t, pid); + st = service_stream_find((service_t*)t, pid); /* Extract PCR */ - if(tsb[3] & 0x20 && tsb[4] > 0 && tsb[5] & 0x10 && !error) - ts_extract_pcr(t, st, tsb, pcrp); + if (pcr != PTS_UNSET) + ts_process_pcr(t, st, pcr); - if(st == NULL) { + if((st == NULL) && (pid != t->s_pcr_pid)) { pthread_mutex_unlock(&t->s_stream_mutex); - return; + return 0; } if(!error) @@@ -229,7 -225,8 +232,7 @@@ avgstat_add(&t->s_rate, 188, dispatch_clock); if((tsb[3] & 0xc0) || - (t->s_scrambled_seen && st->es_type != SCT_CA)) { - (t->s_scrambled_seen && st && st->es_type != SCT_CA && - st->es_type != SCT_PMT)) { ++ (t->s_scrambled_seen && st && st->es_type != SCT_CA)) { /** * Lock for descrambling, but only if packet was not in error