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 "base/base_paths.h" | 5 #include "base/base_paths.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "media/base/media.h" | 9 #include "media/base/media.h" |
10 #include "media/base/mock_callback.h" | 10 #include "media/base/mock_callback.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 VIDEO, | 38 VIDEO, |
39 MAX_CODECS_INDEX | 39 MAX_CODECS_INDEX |
40 }; | 40 }; |
41 | 41 |
42 ChunkDemuxerTest() | 42 ChunkDemuxerTest() |
43 : demuxer_(new ChunkDemuxer()) { | 43 : demuxer_(new ChunkDemuxer()) { |
44 memset(&format_context_, 0, sizeof(format_context_)); | 44 memset(&format_context_, 0, sizeof(format_context_)); |
45 memset(&streams_, 0, sizeof(streams_)); | 45 memset(&streams_, 0, sizeof(streams_)); |
46 memset(&codecs_, 0, sizeof(codecs_)); | 46 memset(&codecs_, 0, sizeof(codecs_)); |
47 | 47 |
48 codecs_[VIDEO].codec_type = CODEC_TYPE_VIDEO; | 48 codecs_[VIDEO].codec_type = AVMEDIA_TYPE_VIDEO; |
49 codecs_[VIDEO].codec_id = CODEC_ID_VP8; | 49 codecs_[VIDEO].codec_id = CODEC_ID_VP8; |
50 codecs_[VIDEO].width = 320; | 50 codecs_[VIDEO].width = 320; |
51 codecs_[VIDEO].height = 240; | 51 codecs_[VIDEO].height = 240; |
52 | 52 |
53 codecs_[AUDIO].codec_type = CODEC_TYPE_AUDIO; | 53 codecs_[AUDIO].codec_type = AVMEDIA_TYPE_AUDIO; |
54 codecs_[AUDIO].codec_id = CODEC_ID_VORBIS; | 54 codecs_[AUDIO].codec_id = CODEC_ID_VORBIS; |
55 codecs_[AUDIO].channels = 2; | 55 codecs_[AUDIO].channels = 2; |
56 codecs_[AUDIO].sample_rate = 44100; | 56 codecs_[AUDIO].sample_rate = 44100; |
57 } | 57 } |
58 | 58 |
59 virtual ~ChunkDemuxerTest() { | 59 virtual ~ChunkDemuxerTest() { |
60 if (demuxer_.get()) | 60 if (demuxer_.get()) |
61 demuxer_->Shutdown(); | 61 demuxer_->Shutdown(); |
| 62 if (format_context_.streams) { |
| 63 delete[] format_context_.streams; |
| 64 format_context_.streams = NULL; |
| 65 format_context_.nb_streams = 0; |
| 66 } |
62 } | 67 } |
63 | 68 |
64 void ReadFile(const std::string& name, scoped_array<uint8>* buffer, | 69 void ReadFile(const std::string& name, scoped_array<uint8>* buffer, |
65 int* size) { | 70 int* size) { |
66 FilePath file_path; | 71 FilePath file_path; |
67 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &file_path)); | 72 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &file_path)); |
68 file_path = file_path.Append(FILE_PATH_LITERAL("media")) | 73 file_path = file_path.Append(FILE_PATH_LITERAL("media")) |
69 .Append(FILE_PATH_LITERAL("test")) | 74 .Append(FILE_PATH_LITERAL("test")) |
70 .Append(FILE_PATH_LITERAL("data")) | 75 .Append(FILE_PATH_LITERAL("data")) |
71 .AppendASCII(name); | 76 .AppendASCII(name); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 } | 135 } |
131 | 136 |
132 if (has_video) { | 137 if (has_video) { |
133 memcpy(buf, video_track_entry.get(), video_track_entry_size); | 138 memcpy(buf, video_track_entry.get(), video_track_entry_size); |
134 buf += video_track_entry_size; | 139 buf += video_track_entry_size; |
135 } | 140 } |
136 } | 141 } |
137 | 142 |
138 void SetupAVFormatContext(bool has_audio, bool has_video) { | 143 void SetupAVFormatContext(bool has_audio, bool has_video) { |
139 int i = 0; | 144 int i = 0; |
| 145 format_context_.streams = new AVStream *[MAX_CODECS_INDEX]; |
140 if (has_audio) { | 146 if (has_audio) { |
141 format_context_.streams[i] = &streams_[i]; | 147 format_context_.streams[i] = &streams_[i]; |
142 streams_[i].codec = &codecs_[AUDIO]; | 148 streams_[i].codec = &codecs_[AUDIO]; |
143 streams_[i].duration = 100; | 149 streams_[i].duration = 100; |
144 streams_[i].time_base.den = base::Time::kMicrosecondsPerSecond; | 150 streams_[i].time_base.den = base::Time::kMicrosecondsPerSecond; |
145 streams_[i].time_base.num = 1; | 151 streams_[i].time_base.num = 1; |
146 i++; | 152 i++; |
147 } | 153 } |
148 | 154 |
149 if (has_video) { | 155 if (has_video) { |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 | 408 |
403 cb.SetClusterTimecode(5); | 409 cb.SetClusterTimecode(5); |
404 AddSimpleBlock(&cb, kAudioTrackNum, 5); | 410 AddSimpleBlock(&cb, kAudioTrackNum, 5); |
405 AddSimpleBlock(&cb, kVideoTrackNum, 7); | 411 AddSimpleBlock(&cb, kVideoTrackNum, 7); |
406 scoped_ptr<Cluster> clusterE(cb.Finish()); | 412 scoped_ptr<Cluster> clusterE(cb.Finish()); |
407 | 413 |
408 EXPECT_FALSE(demuxer_->AddData(clusterE->data(), clusterE->size())); | 414 EXPECT_FALSE(demuxer_->AddData(clusterE->data(), clusterE->size())); |
409 } | 415 } |
410 | 416 |
411 } // namespace media | 417 } // namespace media |
OLD | NEW |