]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Merge branch 'master' into feature/dvb-rewrite
authorAdam Sutton <dev@adamsutton.me.uk>
Fri, 15 Nov 2013 14:00:12 +0000 (14:00 +0000)
committerAdam Sutton <dev@adamsutton.me.uk>
Fri, 15 Nov 2013 14:00:12 +0000 (14:00 +0000)
Conflicts:
src/input/mpegts/tsdemux.c

1  2 
src/input/mpegts/tsdemux.c

index ed0468f6edaf9e8248419abee63350c34231b8e1,5c4a78de146680f180289f872dc74e274e7be619..c373d2f758fb3e889e49e57066ad80b057633715
@@@ -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)
    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