Index: media/filters/ffmpeg_h264_bitstream_converter_unittest.cc |
diff --git a/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc b/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc |
index 5799123e2436c1bc976b912d1f3d0f3204a7e5a6..e3d3766ea7db65967749aaa4c99763ced0f13caa 100644 |
--- a/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc |
+++ b/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc |
@@ -2,22 +2,13 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "media/base/mock_ffmpeg.h" |
+#include "media/base/media.h" |
+#include "media/ffmpeg/ffmpeg_common.h" |
#include "media/filters/ffmpeg_h264_bitstream_converter.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-using ::testing::_; |
-using ::testing::Invoke; |
-using ::testing::Return; |
-using ::testing::StrictMock; |
- |
namespace media { |
-// Forward declarations for fake FFmpeg packet handling functions. |
-static void fake_av_destruct_packet(AVPacket* pkt); |
-static void fake_av_init_packet(AVPacket* pkt); |
-static int fake_av_new_packet(AVPacket* pkt, int size); |
- |
// Test data arrays. |
static const uint8 kHeaderDataOkWithFieldLen4[] = { |
0x01, 0x42, 0x00, 0x28, 0xFF, 0xE1, 0x00, 0x08, 0x67, 0x42, 0x00, 0x28, |
@@ -268,14 +259,6 @@ static const uint8 kPacketDataOkWithFieldLen4[] = { |
class FFmpegH264BitstreamConverterTest : public testing::Test { |
protected: |
FFmpegH264BitstreamConverterTest() { |
- // Set up the ffmpeg mock and use our local fake functions to do the |
- // actual implementation for packet allocation / freeing. |
- ON_CALL(ffmpeg_mock_, AVInitPacket(_)) |
- .WillByDefault(Invoke(fake_av_init_packet)); |
- ON_CALL(ffmpeg_mock_, AVNewPacket(_, _)) |
- .WillByDefault(Invoke(fake_av_new_packet)); |
- ON_CALL(ffmpeg_mock_, AVDestructPacket(_)) |
- .WillByDefault(Invoke(fake_av_destruct_packet)); |
// Set up AVCConfigurationRecord correctly for tests. |
// It's ok to do const cast here as data in kHeaderDataOkWithFieldLen4 is |
// never written to. |
@@ -288,16 +271,10 @@ class FFmpegH264BitstreamConverterTest : public testing::Test { |
void CreatePacket(AVPacket* packet, const uint8* data, uint32 data_size) { |
// Create new packet sized of |data_size| from |data|. |
- EXPECT_CALL(ffmpeg_mock_, AVNewPacket(_, _)); |
- EXPECT_CALL(ffmpeg_mock_, AVInitPacket(_)); |
EXPECT_EQ(av_new_packet(packet, data_size), 0); |
memcpy(packet->data, data, data_size); |
} |
- // FFmpeg mock implementation. We want strict mock since we will strictly |
- // define the order of calls and do not want any extra calls. |
- StrictMock<MockFFmpeg> ffmpeg_mock_; |
- |
// Variable to hold valid dummy context for testing. |
AVCodecContext test_context_; |
@@ -317,13 +294,9 @@ TEST_F(FFmpegH264BitstreamConverterTest, Conversion_Success) { |
// Try out the actual conversion (should be successful and allocate new |
// packet and destroy the old one). |
- EXPECT_CALL(ffmpeg_mock_, AVNewPacket(_, _)); |
- EXPECT_CALL(ffmpeg_mock_, AVInitPacket(_)); |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
EXPECT_TRUE(converter.ConvertPacket(&test_packet)); |
// Clean-up the test packet. |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
av_destruct_packet(&test_packet); |
// Converter will be automatically cleaned up. |
@@ -344,38 +317,9 @@ TEST_F(FFmpegH264BitstreamConverterTest, Conversion_SuccessBigPacket) { |
// Try out the actual conversion (should be successful and allocate new |
// packet and destroy the old one as we do NOT support in place transform). |
- EXPECT_CALL(ffmpeg_mock_, AVNewPacket(_, _)); |
- EXPECT_CALL(ffmpeg_mock_, AVInitPacket(_)); |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
EXPECT_TRUE(converter.ConvertPacket(&test_packet)); |
// Clean-up the test packet. |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
- av_destruct_packet(&test_packet); |
- |
- // Converter will be automatically cleaned up. |
-} |
- |
-TEST_F(FFmpegH264BitstreamConverterTest, Conversion_FailureOutOfMem) { |
- FFmpegH264BitstreamConverter converter(&test_context_); |
- |
- // Initialization should be always successful. |
- EXPECT_TRUE(converter.Initialize()); |
- |
- // Create new packet. |
- AVPacket test_packet; |
- CreatePacket(&test_packet, kPacketDataOkWithFieldLen4, |
- sizeof(kPacketDataOkWithFieldLen4)); |
- |
- // Try out the actual conversion (should be successful and allocate new |
- // packet and destroy the old one). |
- EXPECT_CALL(ffmpeg_mock_, AVNewPacket(_, _)) |
- .WillOnce(Return(-1)); |
- EXPECT_FALSE(converter.ConvertPacket(&test_packet)) |
- << "ConvertPacket() did not return expected failure due to out of mem"; |
- |
- // Clean-up the test packet. |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
av_destruct_packet(&test_packet); |
// Converter will be automatically cleaned up. |
@@ -404,39 +348,9 @@ TEST_F(FFmpegH264BitstreamConverterTest, Conversion_FailureNullParams) { |
EXPECT_FALSE(converter.ConvertPacket(&test_packet)); |
// Clean-up the test packet. |
- EXPECT_CALL(ffmpeg_mock_, AVDestructPacket(_)); |
av_destruct_packet(&test_packet); |
// Converted will be automatically cleaned up. |
} |
-static void fake_av_destruct_packet(AVPacket* pkt) { |
- free(pkt->data); |
- pkt->data = NULL; |
- pkt->size = 0; |
-} |
- |
-static void fake_av_init_packet(AVPacket* pkt) { |
- pkt->pts = AV_NOPTS_VALUE; |
- pkt->dts = AV_NOPTS_VALUE; |
- pkt->pos = -1; |
- pkt->duration = 0; |
- pkt->convergence_duration = 0; |
- pkt->flags = 0; |
- pkt->stream_index = 0; |
- pkt->destruct= NULL; |
-} |
- |
-static int fake_av_new_packet(AVPacket* pkt, int size) { |
- uint8* data = reinterpret_cast<uint8*>(malloc(size)); |
- av_init_packet(pkt); |
- pkt->data = data; |
- pkt->size = size; |
- pkt->destruct = av_destruct_packet; |
- if (data == NULL) |
- return AVERROR(ENOMEM); |
- return 0; |
-} |
- |
} // namespace media |
- |