Be more careful about the validity of s->metadata.
authorCarl Hetherington <cth@carlh.net>
Sat, 20 Apr 2013 01:50:09 +0000 (02:50 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 20 Apr 2013 01:50:09 +0000 (02:50 +0100)
src/lib/ffmpeg_decoder.cc

index 7c88c3c35717853f7fb790831bf4f01ff50b109f..8e09810cb2cc75c3a6109139e0a0db8427f4eb8e 100644 (file)
@@ -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()) {