diff --git a/DEPS b/DEPS
index d5464fe..a20721f 100644
--- a/DEPS
+++ b/DEPS
@@ -865,7 +865,7 @@
   },
 
   'src/third_party/ffmpeg':
-    Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + 'e02fc00c5da42ea5cdf2bf5b9bab93c323a1e698',
+    Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '1b9f48f542058549f984d981ef331951559f9cb0',
 
   'src/third_party/flac':
     Var('chromium_git') + '/chromium/deps/flac.git' + '@' + 'af862024c8c8fa0ae07ced05e89013d881b00596',
diff --git a/media/filters/audio_video_metadata_extractor_unittest.cc b/media/filters/audio_video_metadata_extractor_unittest.cc
index 237ee48..df1cb13 100644
--- a/media/filters/audio_video_metadata_extractor_unittest.cc
+++ b/media/filters/audio_video_metadata_extractor_unittest.cc
@@ -47,7 +47,12 @@
     const media::AudioVideoMetadataExtractor::TagDictionary& tags,
     const char* tag_name) {
   auto tag_data = tags.find(tag_name);
-  return tag_data == tags.end() ? "" : tag_data->second;
+  if (tag_data == tags.end()) {
+    DLOG(WARNING) << "Tag name \"" << tag_name << "\" not found!";
+    return "";
+  }
+
+  return tag_data->second;
 }
 
 TEST(AudioVideoMetadataExtractorTest, InvalidFile) {
@@ -67,7 +72,7 @@
   EXPECT_EQ(1u, extractor->stream_infos()[1].tags.size());
   EXPECT_EQ("vorbis", extractor->stream_infos()[1].type);
   EXPECT_EQ("Processed by SoX",
-            GetTagValue(extractor->stream_infos()[1].tags, "COMMENT"));
+            GetTagValue(extractor->stream_infos()[1].tags, "Comment"));
 
   EXPECT_EQ(0u, extractor->attached_images_bytes().size());
 }
@@ -104,9 +109,9 @@
 
   EXPECT_EQ(2u, extractor->stream_infos()[0].tags.size());
   EXPECT_EQ("Lavf55.43.100",
-            GetTagValue(extractor->stream_infos()[0].tags, "ENCODER"));
+            GetTagValue(extractor->stream_infos()[0].tags, "encoder"));
   EXPECT_EQ("Amadeus Pro",
-            GetTagValue(extractor->stream_infos()[0].tags, "ENCODED_BY"));
+            GetTagValue(extractor->stream_infos()[0].tags, "encoded_by"));
 
   EXPECT_EQ("flac", extractor->stream_infos()[1].type);
   EXPECT_EQ(0u, extractor->stream_infos()[1].tags.size());
