Commit 37d8e763 authored by chcunningham's avatar chcunningham Committed by Commit bot

Roll FFmpeg for M45.

Also fixing test failures. Mostly updating test expectations.

Also includes fix for clockless renderer logic that caused some
tests to stall.

BUG=501445

Review URL: https://codereview.chromium.org/1207423003

Cr-Commit-Position: refs/heads/master@{#338372}
parent 9242f6c1
......@@ -186,7 +186,7 @@ deps = {
Var('chromium_git') + '/chromium/deps/libvpx.git' + '@' + Var('libvpx_revision'),
'src/third_party/ffmpeg':
Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '1f2f7df0f4005fb620342d847bbaa1ec54122c68',
Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + 'f76066ad9f4aea07a53890b54d24cc22830b9efd',
'src/third_party/libjingle/source/talk':
Var('chromium_git') + '/external/webrtc/trunk/talk.git' + '@' + 'f7c923ddc729dc7f002b0e194ab72b661f932c00', # commit position 9564
......
......@@ -188,9 +188,8 @@ TEST(AudioVideoMetadataExtractorTest, AudioMP3) {
EXPECT_EQ(0u, extractor->stream_infos()[1].tags.size());
EXPECT_EQ("png", extractor->stream_infos()[2].type);
EXPECT_EQ(2u, extractor->stream_infos()[2].tags.size());
EXPECT_EQ(1u, extractor->stream_infos()[2].tags.size());
EXPECT_EQ("Other", extractor->stream_infos()[2].tags.find("comment")->second);
EXPECT_EQ("", extractor->stream_infos()[2].tags.find("title")->second);
EXPECT_EQ(1u, extractor->attached_images_bytes().size());
EXPECT_EQ(155752u, extractor->attached_images_bytes()[0].size());
......
......@@ -87,10 +87,7 @@ FFMPEG_TEST_CASE(Cr110849,
"security/110849.mkv",
DEMUXER_ERROR_COULD_NOT_OPEN,
DEMUXER_ERROR_NO_SUPPORTED_STREAMS);
FFMPEG_TEST_CASE(Cr112384,
"security/112384.webm",
DEMUXER_ERROR_COULD_NOT_PARSE,
DEMUXER_ERROR_COULD_NOT_PARSE);
FFMPEG_TEST_CASE(Cr112384, "security/112384.webm", PIPELINE_OK, PIPELINE_OK);
FFMPEG_TEST_CASE(Cr112976, "security/112976.ogg", PIPELINE_OK, PIPELINE_OK);
FFMPEG_TEST_CASE(Cr116927,
"security/116927.ogv",
......@@ -115,10 +112,7 @@ FFMPEG_TEST_CASE(Cr152691,
"security/152691.mp3",
PIPELINE_OK,
PIPELINE_ERROR_DECODE);
FFMPEG_TEST_CASE(Cr161639,
"security/161639.m4a",
PIPELINE_OK,
PIPELINE_ERROR_DECODE);
FFMPEG_TEST_CASE(Cr161639, "security/161639.m4a", PIPELINE_OK, PIPELINE_OK);
FFMPEG_TEST_CASE(Cr222754,
"security/222754.mp4",
PIPELINE_OK,
......@@ -131,10 +125,7 @@ FFMPEG_TEST_CASE(Cr234630b,
FFMPEG_TEST_CASE(Cr242786, "security/242786.webm", PIPELINE_OK, PIPELINE_OK);
// Test for out-of-bounds access with slightly corrupt file (detection logic
// thinks it's a MONO file, but actually contains STEREO audio).
FFMPEG_TEST_CASE(Cr275590,
"security/275590.m4a",
DECODER_ERROR_NOT_SUPPORTED,
DEMUXER_ERROR_COULD_NOT_OPEN);
FFMPEG_TEST_CASE(Cr275590, "security/275590.m4a", PIPELINE_OK, PIPELINE_OK);
FFMPEG_TEST_CASE(Cr444522, "security/444522.mp4", PIPELINE_OK, PIPELINE_OK);
FFMPEG_TEST_CASE(Cr444539,
"security/444539.m4a",
......@@ -331,7 +322,7 @@ TEST_P(FFmpegRegressionTest, BasicPlayback) {
if (GetParam().init_status == PIPELINE_OK) {
ASSERT_EQ(PIPELINE_OK, Start(GetParam().filename, kClockless));
Play();
ASSERT_EQ(WaitUntilEndedOrError(), GetParam().end_status);
ASSERT_EQ(GetParam().end_status, WaitUntilEndedOrError());
// Check for ended if the pipeline is expected to finish okay.
if (GetParam().end_status == PIPELINE_OK) {
......
......@@ -211,8 +211,8 @@ TEST_F(AudioFileReaderTest, CorruptMP3) {
"-4.95,-2.95,-0.44,1.16,0.31,-2.21,",
1,
44100,
base::TimeDelta::FromMicroseconds(1018826),
44931,
base::TimeDelta::FromMicroseconds(1018801),
44930,
44928);
}
......
......@@ -636,7 +636,7 @@ TEST_F(FFmpegDemuxerTest, Read_EndOfStream_NoDuration_VideoOnly) {
CreateDemuxer("bear-320x240-video-only.webm");
InitializeDemuxer();
set_duration_known(false);
EXPECT_CALL(host_, SetDuration(base::TimeDelta::FromMilliseconds(2703)));
EXPECT_CALL(host_, SetDuration(base::TimeDelta::FromMilliseconds(2736)));
ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::VIDEO));
}
......
......@@ -238,8 +238,15 @@ bool RendererImpl::GetWallClockTimes(
// TODO(scherkus): Currently called from VideoRendererImpl's internal thread,
// which should go away at some point http://crbug.com/110814
if (clockless_video_playback_enabled_for_testing_) {
*wall_clock_times = std::vector<base::TimeTicks>(media_timestamps.size(),
base::TimeTicks::Now());
if (media_timestamps.empty()) {
*wall_clock_times = std::vector<base::TimeTicks>(1,
base::TimeTicks::Now());
} else {
*wall_clock_times = std::vector<base::TimeTicks>();
for (auto const &media_time : media_timestamps) {
wall_clock_times->push_back(base::TimeTicks() + media_time);
}
}
return true;
}
......
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