mirror of https://git.ffmpeg.org/ffmpeg.git
mpegts: update AVProgram after pmt change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
928727f951
commit
4c41fc88df
|
@ -182,10 +182,25 @@ typedef struct PESContext {
|
|||
|
||||
extern AVInputFormat ff_mpegts_demuxer;
|
||||
|
||||
static void clear_avprogram(MpegTSContext *ts, unsigned int programid)
|
||||
{
|
||||
AVProgram *prg = NULL;
|
||||
int i;
|
||||
for(i=0; i<ts->stream->nb_programs; i++)
|
||||
if(ts->stream->programs[i]->id == programid){
|
||||
prg = ts->stream->programs[i];
|
||||
break;
|
||||
}
|
||||
if (!prg)
|
||||
return;
|
||||
prg->nb_stream_indexes = 0;
|
||||
}
|
||||
|
||||
static void clear_program(MpegTSContext *ts, unsigned int programid)
|
||||
{
|
||||
int i;
|
||||
|
||||
clear_avprogram(ts, programid);
|
||||
for(i=0; i<ts->nb_prg; i++)
|
||||
if(ts->prg[i].id == programid)
|
||||
ts->prg[i].nb_pids = 0;
|
||||
|
@ -193,6 +208,9 @@ static void clear_program(MpegTSContext *ts, unsigned int programid)
|
|||
|
||||
static void clear_programs(MpegTSContext *ts)
|
||||
{
|
||||
int i;
|
||||
for(i=0; i<ts->nb_prg; i++)
|
||||
clear_avprogram(ts, ts->prg[i].id);
|
||||
av_freep(&ts->prg);
|
||||
ts->nb_prg=0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue