| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <deque> | 5 #include <deque> |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "base/threading/thread.h" | 9 #include "base/threading/thread.h" |
| 10 #include "media/base/filters.h" | 10 #include "media/base/filters.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 StrictMock<MockDemuxerHost> host_; | 137 StrictMock<MockDemuxerHost> host_; |
| 138 MessageLoop message_loop_; | 138 MessageLoop message_loop_; |
| 139 | 139 |
| 140 int64 current_read_position_; | 140 int64 current_read_position_; |
| 141 | 141 |
| 142 private: | 142 private: |
| 143 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxerTest); | 143 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxerTest); |
| 144 }; | 144 }; |
| 145 | 145 |
| 146 TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) { | 146 TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) { |
| 147 // Simulate av_open_input_file() failing. | 147 // Simulate avformat_open_input() failing. |
| 148 EXPECT_CALL(host_, SetCurrentReadPosition(_)); | 148 EXPECT_CALL(host_, SetCurrentReadPosition(_)); |
| 149 demuxer_->Initialize(CreateDataSource("ten_byte_file"), | 149 demuxer_->Initialize(CreateDataSource("ten_byte_file"), |
| 150 NewExpectedStatusCB(DEMUXER_ERROR_COULD_NOT_OPEN)); | 150 NewExpectedStatusCB(DEMUXER_ERROR_COULD_NOT_OPEN)); |
| 151 | 151 |
| 152 message_loop_.RunAllPending(); | 152 message_loop_.RunAllPending(); |
| 153 } | 153 } |
| 154 | 154 |
| 155 // TODO(acolwell): Uncomment this test when we discover a file that passes | 155 // TODO(acolwell): Uncomment this test when we discover a file that passes |
| 156 // av_open_input_file(), but has av_find_stream_info() fail. | 156 // avformat_open_input(), but has avformat_find_stream_info() fail. |
| 157 // | 157 // |
| 158 //TEST_F(FFmpegDemuxerTest, Initialize_ParseFails) { | 158 //TEST_F(FFmpegDemuxerTest, Initialize_ParseFails) { |
| 159 // demuxer_->Initialize( | 159 // demuxer_->Initialize( |
| 160 // CreateDataSource("find_stream_info_fail.webm"), | 160 // CreateDataSource("find_stream_info_fail.webm"), |
| 161 // NewExpectedStatusCB(DEMUXER_ERROR_COULD_NOT_PARSE)); | 161 // NewExpectedStatusCB(DEMUXER_ERROR_COULD_NOT_PARSE)); |
| 162 // message_loop_.RunAllPending(); | 162 // message_loop_.RunAllPending(); |
| 163 //} | 163 //} |
| 164 | 164 |
| 165 TEST_F(FFmpegDemuxerTest, Initialize_NoStreams) { | 165 TEST_F(FFmpegDemuxerTest, Initialize_NoStreams) { |
| 166 // Open a file with no streams whatsoever. | 166 // Open a file with no streams whatsoever. |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 | 632 |
| 633 TEST_F(FFmpegDemuxerTest, GetBitrate_UnsetInContainer_KnownSize) { | 633 TEST_F(FFmpegDemuxerTest, GetBitrate_UnsetInContainer_KnownSize) { |
| 634 EXPECT_TRUE(VideoHasValidBitrate("bear-320x240.webm", false)); | 634 EXPECT_TRUE(VideoHasValidBitrate("bear-320x240.webm", false)); |
| 635 } | 635 } |
| 636 | 636 |
| 637 TEST_F(FFmpegDemuxerTest, GetBitrate_SetInContainer_NoFileSize) { | 637 TEST_F(FFmpegDemuxerTest, GetBitrate_SetInContainer_NoFileSize) { |
| 638 EXPECT_TRUE(VideoHasValidBitrate("bear.ogv", true)); | 638 EXPECT_TRUE(VideoHasValidBitrate("bear.ogv", true)); |
| 639 } | 639 } |
| 640 | 640 |
| 641 TEST_F(FFmpegDemuxerTest, GetBitrate_UnsetInContainer_NoFileSize) { | 641 TEST_F(FFmpegDemuxerTest, GetBitrate_UnsetInContainer_NoFileSize) { |
| 642 EXPECT_FALSE(VideoHasValidBitrate("bear-320x240.webm", true)); | 642 EXPECT_TRUE(VideoHasValidBitrate("bear-320x240.webm", true)); |
| 643 } | 643 } |
| 644 | 644 |
| 645 TEST_F(FFmpegDemuxerTest, ProtocolGetSetPosition) { | 645 TEST_F(FFmpegDemuxerTest, ProtocolGetSetPosition) { |
| 646 scoped_refptr<DataSource> data_source = CreateDataSource("bear-320x240.webm"); | 646 scoped_refptr<DataSource> data_source = CreateDataSource("bear-320x240.webm"); |
| 647 InitializeDemuxer(data_source); | 647 InitializeDemuxer(data_source); |
| 648 | 648 |
| 649 InSequence s; | 649 InSequence s; |
| 650 | 650 |
| 651 int64 size; | 651 int64 size; |
| 652 int64 position; | 652 int64 position; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 message_loop_.RunAllPending(); | 737 message_loop_.RunAllPending(); |
| 738 EXPECT_TRUE(reader->called()); | 738 EXPECT_TRUE(reader->called()); |
| 739 ValidateBuffer(FROM_HERE, reader->buffer(), 1740, 2436000); | 739 ValidateBuffer(FROM_HERE, reader->buffer(), 1740, 2436000); |
| 740 | 740 |
| 741 // Manually release the last reference to the buffer and verify it was freed. | 741 // Manually release the last reference to the buffer and verify it was freed. |
| 742 reader->Reset(); | 742 reader->Reset(); |
| 743 message_loop_.RunAllPending(); | 743 message_loop_.RunAllPending(); |
| 744 } | 744 } |
| 745 | 745 |
| 746 } // namespace media | 746 } // namespace media |
| OLD | NEW |