Index: media/base/mock_ffmpeg.cc |
diff --git a/media/base/mock_ffmpeg.cc b/media/base/mock_ffmpeg.cc |
deleted file mode 100644 |
index ebbfbf0e50733cf7e3efb52bddfe6bd382c4b016..0000000000000000000000000000000000000000 |
--- a/media/base/mock_ffmpeg.cc |
+++ /dev/null |
@@ -1,224 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// 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 "base/logging.h" |
-#include "media/ffmpeg/ffmpeg_common.h" |
- |
-using ::testing::_; |
-using ::testing::AtMost; |
-using ::testing::DoAll; |
-using ::testing::Return; |
-using ::testing::SaveArg; |
- |
-namespace media { |
- |
-MockFFmpeg* MockFFmpeg::instance_ = NULL; |
-URLProtocol* MockFFmpeg::protocol_ = NULL; |
- |
-MockFFmpeg::MockFFmpeg() |
- : outstanding_packets_(0) { |
- CHECK(instance_ == NULL) << "Only a single MockFFmpeg instance can exist"; |
- instance_ = this; |
- |
- // If we haven't assigned our static copy of URLProtocol, set up expectations |
- // to catch the URLProtocol registered when the singleton instance of |
- // FFmpegGlue is created. |
- // |
- // TODO(scherkus): this feels gross and I need to think of a way to better |
- // inject/mock singletons. |
- if (!protocol_) { |
- EXPECT_CALL(*this, AVLogSetLevel(AV_LOG_QUIET)) |
- .Times(AtMost(1)) |
- .WillOnce(Return()); |
- EXPECT_CALL(*this, AVCodecInit()) |
- .Times(AtMost(1)) |
- .WillOnce(Return()); |
- EXPECT_CALL(*this, AVRegisterProtocol2(_,_)) |
- .Times(AtMost(1)) |
- .WillOnce(DoAll(SaveArg<0>(&protocol_), Return(0))); |
- EXPECT_CALL(*this, AVRegisterAll()) |
- .Times(AtMost(1)) |
- .WillOnce(Return()); |
- } |
-} |
- |
-MockFFmpeg::~MockFFmpeg() { |
- CHECK(!outstanding_packets_) |
- << "MockFFmpeg destroyed with outstanding packets"; |
- CHECK(instance_); |
- instance_ = NULL; |
-} |
- |
-void MockFFmpeg::inc_outstanding_packets() { |
- ++outstanding_packets_; |
-} |
- |
-void MockFFmpeg::dec_outstanding_packets() { |
- CHECK(outstanding_packets_ > 0); |
- --outstanding_packets_; |
-} |
- |
-// static |
-MockFFmpeg* MockFFmpeg::get() { |
- return instance_; |
-} |
- |
-// static |
-URLProtocol* MockFFmpeg::protocol() { |
- return protocol_; |
-} |
- |
-// static |
-void MockFFmpeg::DestructPacket(AVPacket* packet) { |
- delete [] packet->data; |
- packet->data = NULL; |
- packet->size = 0; |
-} |
- |
-// FFmpeg stubs that delegate to the FFmpegMock instance. |
-extern "C" { |
-void avcodec_init() { |
- MockFFmpeg::get()->AVCodecInit(); |
-} |
- |
-int av_register_protocol2(URLProtocol* protocol, int size) { |
- return MockFFmpeg::get()->AVRegisterProtocol2(protocol, size); |
-} |
- |
-void av_register_all() { |
- MockFFmpeg::get()->AVRegisterAll(); |
-} |
- |
-int av_lockmgr_register(int (*cb)(void**, enum AVLockOp)) { |
- // Here |mock| may be NULL when this function is called from ~FFmpegGlue(). |
- if (MockFFmpeg::get()) { |
- return MockFFmpeg::get()->AVRegisterLockManager(cb); |
- } |
- return 0; |
-} |
- |
-AVCodec* avcodec_find_decoder(enum CodecID id) { |
- return MockFFmpeg::get()->AVCodecFindDecoder(id); |
-} |
- |
-int avcodec_open(AVCodecContext* avctx, AVCodec* codec) { |
- return MockFFmpeg::get()->AVCodecOpen(avctx, codec); |
-} |
- |
-int avcodec_close(AVCodecContext* avctx) { |
- return MockFFmpeg::get()->AVCodecClose(avctx); |
-} |
- |
-void avcodec_flush_buffers(AVCodecContext* avctx) { |
- return MockFFmpeg::get()->AVCodecFlushBuffers(avctx); |
-} |
- |
-AVCodecContext* avcodec_alloc_context() { |
- return MockFFmpeg::get()->AVCodecAllocContext(); |
-} |
- |
-AVFrame* avcodec_alloc_frame() { |
- return MockFFmpeg::get()->AVCodecAllocFrame(); |
-} |
- |
-int avcodec_decode_video2(AVCodecContext* avctx, AVFrame* picture, |
- int* got_picture_ptr, AVPacket* avpkt) { |
- return MockFFmpeg::get()-> |
- AVCodecDecodeVideo2(avctx, picture, got_picture_ptr, avpkt); |
-} |
- |
-AVBitStreamFilterContext* av_bitstream_filter_init(const char* name) { |
- return MockFFmpeg::get()->AVBitstreamFilterInit(name); |
-} |
- |
-int av_bitstream_filter_filter(AVBitStreamFilterContext* bsfc, |
- AVCodecContext* avctx, |
- const char* args, |
- uint8_t** poutbuf, |
- int* poutbuf_size, |
- const uint8_t* buf, |
- int buf_size, |
- int keyframe) { |
- return MockFFmpeg::get()-> |
- AVBitstreamFilterFilter(bsfc, avctx, args, poutbuf, poutbuf_size, buf, |
- buf_size, keyframe); |
-} |
- |
-void av_bitstream_filter_close(AVBitStreamFilterContext* bsf) { |
- return MockFFmpeg::get()->AVBitstreamFilterClose(bsf); |
-} |
- |
-int av_open_input_file(AVFormatContext** format, const char* filename, |
- AVInputFormat* input_format, int buffer_size, |
- AVFormatParameters* parameters) { |
- return MockFFmpeg::get()->AVOpenInputFile(format, filename, |
- input_format, buffer_size, |
- parameters); |
-} |
- |
-void av_close_input_file(AVFormatContext* format) { |
- MockFFmpeg::get()->AVCloseInputFile(format); |
-} |
- |
-int av_find_stream_info(AVFormatContext* format) { |
- return MockFFmpeg::get()->AVFindStreamInfo(format); |
-} |
- |
-int64 av_rescale_q(int64 a, AVRational bq, AVRational cq) { |
- // Because this is a math function there's little point in mocking it, so we |
- // implement a cheap version that's capable of overflowing. |
- int64 num = bq.num * cq.den; |
- int64 den = cq.num * bq.den; |
- |
- // Rescale a by num/den. The den / 2 is for rounding. |
- return (a * num + den / 2) / den; |
-} |
- |
-int av_read_frame(AVFormatContext* format, AVPacket* packet) { |
- return MockFFmpeg::get()->AVReadFrame(format, packet); |
-} |
- |
-int av_seek_frame(AVFormatContext *format, int stream_index, int64_t timestamp, |
- int flags) { |
- return MockFFmpeg::get()->AVSeekFrame(format, stream_index, timestamp, |
- flags); |
-} |
- |
-void av_init_packet(AVPacket* pkt) { |
- return MockFFmpeg::get()->AVInitPacket(pkt); |
-} |
- |
-int av_new_packet(AVPacket* packet, int size) { |
- return MockFFmpeg::get()->AVNewPacket(packet, size); |
-} |
- |
-void av_free_packet(AVPacket* packet) { |
- MockFFmpeg::get()->AVFreePacket(packet); |
-} |
- |
-void av_free(void* ptr) { |
- // Freeing NULL pointers are valid, but they aren't interesting from a mock |
- // perspective. |
- if (ptr) { |
- MockFFmpeg::get()->AVFree(ptr); |
- } |
-} |
- |
-int av_dup_packet(AVPacket* packet) { |
- return MockFFmpeg::get()->AVDupPacket(packet); |
-} |
- |
-void av_log_set_level(int level) { |
- MockFFmpeg::get()->AVLogSetLevel(level); |
-} |
- |
-void av_destruct_packet(AVPacket *pkt) { |
- MockFFmpeg::get()->AVDestructPacket(pkt); |
-} |
- |
-} // extern "C" |
- |
-} // namespace media |