OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
11 * this list of conditions and the following disclaimer in the documentation | 11 * this list of conditions and the following disclaimer in the documentation |
12 * and/or other materials provided with the distribution. | 12 * and/or other materials provided with the distribution. |
13 * 3. The name of the author may not be used to endorse or promote products | 13 * 3. The name of the author may not be used to endorse or promote products |
14 * derived from this software without specific prior written permission. | 14 * derived from this software without specific prior written permission. |
15 * | 15 * |
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED | 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED |
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO |
19 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 19 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | 22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | 23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #include "talk/media/base/testutils.h" | 28 #include "webrtc/media/base/testutils.h" |
29 | 29 |
30 #include <math.h> | 30 #include <math.h> |
31 #include <algorithm> | 31 #include <algorithm> |
32 | 32 |
33 #include "talk/media/base/executablehelpers.h" | |
34 #include "talk/media/base/rtpdump.h" | |
35 #include "talk/media/base/videocapturer.h" | |
36 #include "talk/media/base/videoframe.h" | |
37 #include "webrtc/base/bytebuffer.h" | 33 #include "webrtc/base/bytebuffer.h" |
38 #include "webrtc/base/fileutils.h" | 34 #include "webrtc/base/fileutils.h" |
39 #include "webrtc/base/gunit.h" | 35 #include "webrtc/base/gunit.h" |
40 #include "webrtc/base/pathutils.h" | 36 #include "webrtc/base/pathutils.h" |
41 #include "webrtc/base/stream.h" | 37 #include "webrtc/base/stream.h" |
42 #include "webrtc/base/stringutils.h" | 38 #include "webrtc/base/stringutils.h" |
43 #include "webrtc/base/testutils.h" | 39 #include "webrtc/base/testutils.h" |
| 40 #include "webrtc/media/base/executablehelpers.h" |
| 41 #include "webrtc/media/base/rtpdump.h" |
| 42 #include "webrtc/media/base/videocapturer.h" |
| 43 #include "webrtc/media/base/videoframe.h" |
44 | 44 |
45 namespace cricket { | 45 namespace cricket { |
46 | 46 |
47 ///////////////////////////////////////////////////////////////////////// | 47 ///////////////////////////////////////////////////////////////////////// |
48 // Implementation of RawRtpPacket | 48 // Implementation of RawRtpPacket |
49 ///////////////////////////////////////////////////////////////////////// | 49 ///////////////////////////////////////////////////////////////////////// |
50 void RawRtpPacket::WriteToByteBuffer(uint32_t in_ssrc, | 50 void RawRtpPacket::WriteToByteBuffer(uint32_t in_ssrc, |
51 rtc::ByteBuffer* buf) const { | 51 rtc::ByteBuffer* buf) const { |
52 if (!buf) return; | 52 if (!buf) return; |
53 | 53 |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 if (1 == frame_count_) { | 251 if (1 == frame_count_) { |
252 frame_fourcc_ = frame->fourcc; | 252 frame_fourcc_ = frame->fourcc; |
253 frame_width_ = frame->width; | 253 frame_width_ = frame->width; |
254 frame_height_ = frame->height; | 254 frame_height_ = frame->height; |
255 frame_size_ = frame->data_size; | 255 frame_size_ = frame->data_size; |
256 } else if (frame_width_ != frame->width || frame_height_ != frame->height) { | 256 } else if (frame_width_ != frame->width || frame_height_ != frame->height) { |
257 resolution_changed_ = true; | 257 resolution_changed_ = true; |
258 } | 258 } |
259 } | 259 } |
260 | 260 |
261 // Returns the absolute path to a file in the testdata/ directory. | 261 // Returns the absolute path to a file in the resources/ directory. |
262 std::string GetTestFilePath(const std::string& filename) { | 262 std::string GetTestFilePath(const std::string& filename) { |
263 // Locate test data directory. | 263 // Locate test data directory. |
264 #ifdef ENABLE_WEBRTC | 264 #ifdef ENABLE_WEBRTC |
265 rtc::Pathname path = rtc::GetExecutablePath(); | 265 rtc::Pathname path = rtc::GetExecutablePath(); |
266 EXPECT_FALSE(path.empty()); | 266 EXPECT_FALSE(path.empty()); |
267 path.AppendPathname("../../talk/"); | 267 path.AppendPathname("../../resources/"); |
268 #else | 268 #else |
269 rtc::Pathname path = testing::GetTalkDirectory(); | 269 rtc::Pathname path = testing::GetTalkDirectory(); |
270 EXPECT_FALSE(path.empty()); // must be run from inside "talk" | 270 EXPECT_FALSE(path.empty()); // must be run from inside "talk" |
271 #endif | 271 #endif |
272 path.AppendFolder("media/testdata/"); | 272 path.AppendFolder("media/"); |
273 path.SetFilename(filename); | 273 path.SetFilename(filename); |
274 return path.pathname(); | 274 return path.pathname(); |
275 } | 275 } |
276 | 276 |
277 // Loads the image with the specified prefix and size into |out|. | 277 // Loads the image with the specified prefix and size into |out|. |
278 bool LoadPlanarYuvTestImage(const std::string& prefix, | 278 bool LoadPlanarYuvTestImage(const std::string& prefix, |
279 int width, | 279 int width, |
280 int height, | 280 int height, |
281 uint8_t* out) { | 281 uint8_t* out) { |
282 std::stringstream ss; | 282 std::stringstream ss; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 std::vector<uint32_t> fid_ssrcs; | 376 std::vector<uint32_t> fid_ssrcs; |
377 fid_ssrcs.push_back(ssrcs[i]); | 377 fid_ssrcs.push_back(ssrcs[i]); |
378 fid_ssrcs.push_back(rtx_ssrcs[i]); | 378 fid_ssrcs.push_back(rtx_ssrcs[i]); |
379 cricket::SsrcGroup fid_group(cricket::kFidSsrcGroupSemantics, fid_ssrcs); | 379 cricket::SsrcGroup fid_group(cricket::kFidSsrcGroupSemantics, fid_ssrcs); |
380 sp.ssrc_groups.push_back(fid_group); | 380 sp.ssrc_groups.push_back(fid_group); |
381 } | 381 } |
382 return sp; | 382 return sp; |
383 } | 383 } |
384 | 384 |
385 } // namespace cricket | 385 } // namespace cricket |
OLD | NEW |