diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-04-20 02:50:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-04-20 02:50:09 +0100 |
| commit | 2c1533e4e5568a8bb4f538cfb845d07b0637380c (patch) | |
| tree | 75e4990e49838db574f3a4557edda8e42a725f25 /src/lib/ffmpeg_decoder.cc | |
| parent | 7c02c5d112ff07e3e97a70c367f4cffc183581cd (diff) | |
Be more careful about the validity of s->metadata.
Diffstat (limited to 'src/lib/ffmpeg_decoder.cc')
| -rw-r--r-- | src/lib/ffmpeg_decoder.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index 7c88c3c35..8e09810cb 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -453,18 +453,20 @@ string FFmpegDecoder::stream_name (AVStream* s) const { stringstream n; - - AVDictionaryEntry const * lang = av_dict_get (s->metadata, N_("language"), 0, 0); - if (lang) { - n << lang->value; - } - - AVDictionaryEntry const * title = av_dict_get (s->metadata, N_("title"), 0, 0); - if (title) { - if (!n.str().empty()) { - n << N_(" "); + + if (s->metadata) { + AVDictionaryEntry const * lang = av_dict_get (s->metadata, N_("language"), 0, 0); + if (lang) { + n << lang->value; + } + + AVDictionaryEntry const * title = av_dict_get (s->metadata, N_("title"), 0, 0); + if (title) { + if (!n.str().empty()) { + n << N_(" "); + } + n << title->value; } - n << title->value; } if (n.str().empty()) { |
