|
|
|
@@ -221,6 +221,17 @@ static void add_pid_to_pmt(MpegTSContext *ts, unsigned int programid, unsigned i |
|
|
|
p->pids[p->nb_pids++] = pid; |
|
|
|
} |
|
|
|
|
|
|
|
static void set_pcr_pid(AVFormatContext *s, unsigned int programid, unsigned int pid) |
|
|
|
{ |
|
|
|
int i; |
|
|
|
for(i=0; i<s->nb_programs; i++) { |
|
|
|
if(s->programs[i]->id == programid) { |
|
|
|
s->programs[i]->pcr_pid = pid; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* \brief discard_pid() decides if the pid is to be discarded according |
|
|
|
* to caller's programs selection |
|
|
|
@@ -1039,6 +1050,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len |
|
|
|
if (pcr_pid < 0) |
|
|
|
return; |
|
|
|
add_pid_to_pmt(ts, h->id, pcr_pid); |
|
|
|
set_pcr_pid(ts->stream, h->id, pcr_pid); |
|
|
|
|
|
|
|
av_dlog(ts->stream, "pcr_pid=0x%x\n", pcr_pid); |
|
|
|
|
|
|
|
|