Remove an empty program if the one requested by IDENTIFY_PROGRAM does not exist

instead of incorrectly claiming that the demuxer does not support programs.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29845 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2009-11-07 11:09:23 +00:00
parent 3591832515
commit 25f0498660
1 changed files with 4 additions and 4 deletions

View File

@ -711,8 +711,9 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
int p, i; int p, i;
int start; int start;
if(priv->avfc->nb_programs < 2) prog->vid = prog->aid = prog->sid = -2; //no audio and no video by default
return DEMUXER_CTRL_NOTIMPL; if(priv->avfc->nb_programs < 1)
return DEMUXER_CTRL_DONTKNOW;
if(prog->progid == -1) if(prog->progid == -1)
{ {
@ -727,10 +728,9 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
if(priv->avfc->programs[i]->id == prog->progid) if(priv->avfc->programs[i]->id == prog->progid)
break; break;
if(i==priv->avfc->nb_programs) if(i==priv->avfc->nb_programs)
return DEMUXER_CTRL_NOTIMPL; return DEMUXER_CTRL_DONTKNOW;
p = i; p = i;
} }
prog->vid = prog->aid = prog->sid = -2; //no audio and no video by default
start = p; start = p;
redo: redo:
program = priv->avfc->programs[p]; program = priv->avfc->programs[p];