]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
insert chapters when packets are marked as containing commercials
authorJohn Törnblom <john@workstation.(none)>
Mon, 18 Feb 2013 11:01:16 +0000 (12:01 +0100)
committerJohn Törnblom <john@workstation.(none)>
Fri, 8 Mar 2013 09:00:58 +0000 (10:00 +0100)
src/muxer/tvh/mkmux.c

index 258a54386a096141987f5e13241d85666aaf5195..19880a3847a1a4613db35415e730131003ec191c 100644 (file)
@@ -56,6 +56,8 @@ typedef struct mk_track {
 
   uint16_t aspect_num;
   uint16_t aspect_den;
+
+  uint8_t commercial;
 } mk_track_t;
 
 /**
@@ -208,6 +210,7 @@ mk_build_tracks(mk_mux_t *mkm, const streaming_start_t *ss)
     mkm->tracks[i].channels = ssc->ssc_channels;
     mkm->tracks[i].aspect_num = ssc->ssc_aspect_num;
     mkm->tracks[i].aspect_den = ssc->ssc_aspect_den;
+    mkm->tracks[i].commercial = COMMERCIAL_UNKNOWN;
     mkm->tracks[i].sri = ssc->ssc_sri;
     mkm->tracks[i].nextpts = PTS_UNSET;
 
@@ -1046,6 +1049,11 @@ mk_mux_write_pkt(mk_mux_t *mkm, th_pkt_t *pkt)
     mark = 1;
     t->sri = pkt->pkt_sri;
   }
+  if(pkt->pkt_commercial != t->commercial && 
+     pkt->pkt_commercial != COMMERCIAL_UNKNOWN) {
+    mark = 1;
+    t->commercial = pkt->pkt_commercial;
+  }
 
   if(mark)
     mk_mux_insert_chapter(mkm);