summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_lavf.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index 3f1fd8955d..be184a8f64 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -899,6 +899,18 @@ redo:
break;
}
}
+ if (prog->aid >= 0 && prog->aid < MAX_A_STREAMS &&
+ demuxer->a_streams[prog->aid]) {
+ sh_audio_t *sh = demuxer->a_streams[prog->aid];
+ prog->aid = sh->aid;
+ } else
+ prog->aid = -2;
+ if (prog->vid >= 0 && prog->vid < MAX_V_STREAMS &&
+ demuxer->v_streams[prog->vid]) {
+ sh_video_t *sh = demuxer->v_streams[prog->vid];
+ prog->vid = sh->vid;
+ } else
+ prog->vid = -2;
if(prog->progid == -1 && prog->vid == -2 && prog->aid == -2)
{
p = (p + 1) % priv->avfc->nb_programs;