Commit 5501afa6 authored by Kieran Kunhya's avatar Kieran Kunhya Committed by Michael Niedermayer

Export PCR pid

parent 24adef14
...@@ -650,6 +650,7 @@ typedef struct AVProgram { ...@@ -650,6 +650,7 @@ typedef struct AVProgram {
int program_num; int program_num;
int pmt_pid; int pmt_pid;
int pcr_pid;
} AVProgram; } AVProgram;
#define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present #define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present
......
...@@ -221,6 +221,17 @@ static void add_pid_to_pmt(MpegTSContext *ts, unsigned int programid, unsigned i ...@@ -221,6 +221,17 @@ static void add_pid_to_pmt(MpegTSContext *ts, unsigned int programid, unsigned i
p->pids[p->nb_pids++] = pid; 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 * \brief discard_pid() decides if the pid is to be discarded according
* to caller's programs selection * to caller's programs selection
...@@ -1039,6 +1050,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len ...@@ -1039,6 +1050,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
if (pcr_pid < 0) if (pcr_pid < 0)
return; return;
add_pid_to_pmt(ts, h->id, pcr_pid); 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); av_dlog(ts->stream, "pcr_pid=0x%x\n", pcr_pid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment