vlc | branch: master | Thomas Guillem <[email protected]> | Thu Jan 19 14:54:08 2017 +0100| [ac76000ce04e555b6d2ddb2ebe9c3e1e969255ad] | committer: Thomas Guillem
input: don't loose infos when updating track infos > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ac76000ce04e555b6d2ddb2ebe9c3e1e969255ad --- src/input/es_out.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/input/es_out.c b/src/input/es_out.c index de9a883..d7d3e16 100644 --- a/src/input/es_out.c +++ b/src/input/es_out.c @@ -2926,6 +2926,23 @@ static void EsOutUpdateInfo( es_out_t *out, es_out_id_t *es, const es_format_t * update.i_id = es->i_meta_id; update.i_codec = es->fmt.i_codec; update.i_original_fourcc = es->fmt.i_original_fourcc; + + /* Update infos that could have been lost by the decoder (no need to + * dup them since input_item_UpdateTracksInfo() will do it). */ + if (update.psz_language == NULL) + update.psz_language = es->fmt.psz_language; + if (update.psz_description == NULL) + update.psz_description = es->fmt.psz_description; + if (update.subs.psz_encoding == NULL) + update.subs.psz_encoding = es->fmt.subs.psz_encoding; + if (update.subs.p_style == NULL) + update.subs.p_style = es->fmt.subs.p_style; + if (update.i_extra_languages == 0) + { + assert(update.p_extra_languages == NULL); + update.i_extra_languages = es->fmt.i_extra_languages; + update.p_extra_languages = es->fmt.p_extra_languages; + } input_item_UpdateTracksInfo(input_GetItem(p_input), &update); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
