Commit 88671de6 authored by Rafaël Carré's avatar Rafaël Carré

avformat demux: AVFormatContext->nb_streams == 0 is valid

Set the options correctly in this case.
This happens with some .ts files for example.
parent d7246593
...@@ -252,8 +252,9 @@ int OpenDemux( vlc_object_t *p_this ) ...@@ -252,8 +252,9 @@ int OpenDemux( vlc_object_t *p_this )
#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(26<<8)+0) #if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(26<<8)+0)
char *psz_opts = var_InheritString( p_demux, "avformat-options" ); char *psz_opts = var_InheritString( p_demux, "avformat-options" );
AVDictionary *options[p_sys->ic->nb_streams]; AVDictionary *options[p_sys->ic->nb_streams ? p_sys->ic->nb_streams : 1];
for (unsigned i = 0; i < p_sys->ic->nb_streams; i++) options[0] = NULL;
for (unsigned i = 1; i < p_sys->ic->nb_streams; i++)
options[i] = NULL; options[i] = NULL;
if (psz_opts && *psz_opts) { if (psz_opts && *psz_opts) {
options[0] = vlc_av_get_options(psz_opts); options[0] = vlc_av_get_options(psz_opts);
...@@ -269,7 +270,8 @@ int OpenDemux( vlc_object_t *p_this ) ...@@ -269,7 +270,8 @@ int OpenDemux( vlc_object_t *p_this )
while ((t = av_dict_get(options[0], "", t, AV_DICT_IGNORE_SUFFIX))) { while ((t = av_dict_get(options[0], "", t, AV_DICT_IGNORE_SUFFIX))) {
msg_Err( p_demux, "Unknown option \"%s\"", t->key ); msg_Err( p_demux, "Unknown option \"%s\"", t->key );
} }
for (unsigned i = 0; i < p_sys->ic->nb_streams; i++) { av_dict_free(&options[0]);
for (unsigned i = 1; i < p_sys->ic->nb_streams; i++) {
av_dict_free(&options[i]); av_dict_free(&options[i]);
} }
#else #else
......
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