Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1042)

Unified Diff: media/filters/ffmpeg_video_decoder_unittest.cc

Issue 2768713002: Pass a |media_log| to FFmpegVideoDecoder and roll ffmpeg (Closed)
Patch Set: Update cast sender unittest. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/filters/ffmpeg_video_decoder.cc ('k') | media/gpu/video_encode_accelerator_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_video_decoder_unittest.cc
diff --git a/media/filters/ffmpeg_video_decoder_unittest.cc b/media/filters/ffmpeg_video_decoder_unittest.cc
index e0f0b99a6b27028f0619eb2633cc3ec2b11aca5f..1fe0a654a848a753dd6f2418df69c9565a9f2531 100644
--- a/media/filters/ffmpeg_video_decoder_unittest.cc
+++ b/media/filters/ffmpeg_video_decoder_unittest.cc
@@ -11,6 +11,7 @@
#include "base/bind.h"
#include "base/callback_helpers.h"
#include "base/macros.h"
+#include "base/memory/ref_counted.h"
#include "base/memory/singleton.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
@@ -18,8 +19,10 @@
#include "media/base/decoder_buffer.h"
#include "media/base/gmock_callback_support.h"
#include "media/base/limits.h"
+#include "media/base/media_log.h"
#include "media/base/media_util.h"
#include "media/base/mock_filters.h"
+#include "media/base/mock_media_log.h"
#include "media/base/test_data_util.h"
#include "media/base/test_helpers.h"
#include "media/base/video_decoder.h"
@@ -50,10 +53,15 @@ ACTION_P(ReturnBuffer, buffer) {
arg0.Run(buffer.get() ? DemuxerStream::kOk : DemuxerStream::kAborted, buffer);
}
+MATCHER(ContainsInvalidDataLog, "") {
+ return CONTAINS_STRING(arg, "Invalid data");
+}
+
class FFmpegVideoDecoderTest : public testing::Test {
public:
FFmpegVideoDecoderTest()
- : decoder_(new FFmpegVideoDecoder()),
+ : media_log_(new StrictMock<MockMediaLog>()),
+ decoder_(new FFmpegVideoDecoder(media_log_)),
decode_cb_(base::Bind(&FFmpegVideoDecoderTest::DecodeDone,
base::Unretained(this))) {
FFmpegGlue::InitializeFFmpeg();
@@ -197,6 +205,8 @@ class FFmpegVideoDecoderTest : public testing::Test {
MOCK_METHOD1(DecodeDone, void(DecodeStatus));
+ scoped_refptr<StrictMock<MockMediaLog>> media_log_;
+
base::MessageLoop message_loop_;
std::unique_ptr<FFmpegVideoDecoder> decoder_;
@@ -275,6 +285,8 @@ TEST_F(FFmpegVideoDecoderTest, DecodeFrame_0ByteFrame) {
TEST_F(FFmpegVideoDecoderTest, DecodeFrame_DecodeError) {
Initialize();
+ EXPECT_MEDIA_LOG(ContainsInvalidDataLog());
+
// The error is only raised on the second decode attempt, so we expect at
// least one successful decode but we don't expect valid frame to be decoded.
// During the second decode attempt an error is raised.
@@ -293,6 +305,8 @@ TEST_F(FFmpegVideoDecoderTest, DecodeFrame_DecodeError) {
TEST_F(FFmpegVideoDecoderTest, DecodeFrame_DecodeErrorAtEndOfStream) {
Initialize();
+ EXPECT_MEDIA_LOG(ContainsInvalidDataLog());
+
EXPECT_EQ(DecodeStatus::DECODE_ERROR,
DecodeSingleFrame(corrupt_i_frame_buffer_));
}
« no previous file with comments | « media/filters/ffmpeg_video_decoder.cc ('k') | media/gpu/video_encode_accelerator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698