diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc index da7e32b51741ea239044d275c8fd153a5cde9a2c..6d4281d67f7bd45203b02b25879ac24ad432ff24 100644 --- a/test/encode_test_driver.cc +++ b/test/encode_test_driver.cc @@ -69,7 +69,10 @@ void Encoder::EncodeFrameInternal(const VideoSource &video, void Encoder::Flush() { const vpx_codec_err_t res = vpx_codec_encode(&encoder_, NULL, 0, 0, 0, deadline_); - ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); + if (!encoder_.priv) + ASSERT_EQ(VPX_CODEC_ERROR, res) << EncoderError(); + else + ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); } void EncoderTest::InitializeConfig() { diff --git a/test/video_source.h b/test/video_source.h index f7e31d42acea794525f0e7c242c7b33b86d2ccda..94500b43d3e887ea63791e4b7bd4faebc7ebb864 100644 --- a/test/video_source.h +++ b/test/video_source.h @@ -142,7 +142,7 @@ class DummyVideoSource : public VideoSource { } protected: - virtual void FillFrame() { memset(img_->img_data, 0, raw_sz_); } + virtual void FillFrame() { if (img_) memset(img_->img_data, 0, raw_sz_); } vpx_image_t *img_; size_t raw_sz_; @@ -170,11 +170,13 @@ class RandomVideoSource : public DummyVideoSource { // 15 frames of noise, followed by 15 static frames. Reset to 0 rather // than holding previous frames to encourage keyframes to be thrown. virtual void FillFrame() { - if (frame_ % 30 < 15) - for (size_t i = 0; i < raw_sz_; ++i) - img_->img_data[i] = rnd_.Rand8(); - else - memset(img_->img_data, 0, raw_sz_); + if (img_) { + if (frame_ % 30 < 15) + for (size_t i = 0; i < raw_sz_; ++i) + img_->img_data[i] = rnd_.Rand8(); + else + memset(img_->img_data, 0, raw_sz_); + } } ACMRandom rnd_;