Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(452)

Side by Side Diff: webrtc/video/video_send_stream_tests.cc

Issue 2337453002: H.264 packetization mode 0 (try 2) (Closed)
Patch Set: Upload try 2 (with rebase) Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/video/payload_router.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <algorithm> // max 10 #include <algorithm> // max
(...skipping 1952 matching lines...) Expand 10 before | Expand all | Expand 10 after
1963 VideoCodecConfigObserver(VideoCodecType video_codec_type, 1963 VideoCodecConfigObserver(VideoCodecType video_codec_type,
1964 const char* codec_name) 1964 const char* codec_name)
1965 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs), 1965 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs),
1966 FakeEncoder(Clock::GetRealTimeClock()), 1966 FakeEncoder(Clock::GetRealTimeClock()),
1967 video_codec_type_(video_codec_type), 1967 video_codec_type_(video_codec_type),
1968 codec_name_(codec_name), 1968 codec_name_(codec_name),
1969 init_encode_event_(false, false), 1969 init_encode_event_(false, false),
1970 num_initializations_(0), 1970 num_initializations_(0),
1971 stream_(nullptr) { 1971 stream_(nullptr) {
1972 memset(&encoder_settings_, 0, sizeof(encoder_settings_)); 1972 memset(&encoder_settings_, 0, sizeof(encoder_settings_));
1973 InitCodecSpecifics();
1973 } 1974 }
1974 1975
1975 private: 1976 private:
1976 class VideoStreamFactory 1977 class VideoStreamFactory
1977 : public VideoEncoderConfig::VideoStreamFactoryInterface { 1978 : public VideoEncoderConfig::VideoStreamFactoryInterface {
1978 public: 1979 public:
1979 VideoStreamFactory() {} 1980 VideoStreamFactory() {}
1980 1981
1981 private: 1982 private:
1982 std::vector<VideoStream> CreateEncoderStreams( 1983 std::vector<VideoStream> CreateEncoderStreams(
1983 int width, 1984 int width,
1984 int height, 1985 int height,
1985 const VideoEncoderConfig& encoder_config) override { 1986 const VideoEncoderConfig& encoder_config) override {
1986 std::vector<VideoStream> streams = 1987 std::vector<VideoStream> streams =
1987 test::CreateVideoStreams(width, height, encoder_config); 1988 test::CreateVideoStreams(width, height, encoder_config);
1988 for (size_t i = 0; i < streams.size(); ++i) { 1989 for (size_t i = 0; i < streams.size(); ++i) {
1989 streams[i].temporal_layer_thresholds_bps.resize( 1990 streams[i].temporal_layer_thresholds_bps.resize(
1990 kVideoCodecConfigObserverNumberOfTemporalLayers - 1); 1991 kVideoCodecConfigObserverNumberOfTemporalLayers - 1);
1991 } 1992 }
1992 return streams; 1993 return streams;
1993 } 1994 }
1994 }; 1995 };
1995 1996
1997 void InitCodecSpecifics();
1998
1996 void ModifyVideoConfigs( 1999 void ModifyVideoConfigs(
1997 VideoSendStream::Config* send_config, 2000 VideoSendStream::Config* send_config,
1998 std::vector<VideoReceiveStream::Config>* receive_configs, 2001 std::vector<VideoReceiveStream::Config>* receive_configs,
1999 VideoEncoderConfig* encoder_config) override { 2002 VideoEncoderConfig* encoder_config) override {
2000 send_config->encoder_settings.encoder = this; 2003 send_config->encoder_settings.encoder = this;
2001 send_config->encoder_settings.payload_name = codec_name_; 2004 send_config->encoder_settings.payload_name = codec_name_;
2002 2005
2003 encoder_config->encoder_specific_settings = GetEncoderSpecificSettings(); 2006 encoder_config->encoder_specific_settings = GetEncoderSpecificSettings();
2004 encoder_config->video_stream_factory = 2007 encoder_config->video_stream_factory =
2005 new rtc::RefCountedObject<VideoStreamFactory>(); 2008 new rtc::RefCountedObject<VideoStreamFactory>();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2050 2053
2051 T encoder_settings_; 2054 T encoder_settings_;
2052 const VideoCodecType video_codec_type_; 2055 const VideoCodecType video_codec_type_;
2053 const char* const codec_name_; 2056 const char* const codec_name_;
2054 rtc::Event init_encode_event_; 2057 rtc::Event init_encode_event_;
2055 size_t num_initializations_; 2058 size_t num_initializations_;
2056 VideoSendStream* stream_; 2059 VideoSendStream* stream_;
2057 VideoEncoderConfig encoder_config_; 2060 VideoEncoderConfig encoder_config_;
2058 }; 2061 };
2059 2062
2063 template <typename T>
2064 void VideoCodecConfigObserver<T>::InitCodecSpecifics() {}
2065
2066 template <>
2067 void VideoCodecConfigObserver<VideoCodecH264>::InitCodecSpecifics() {
2068 encoder_settings_.packetization_mode = kH264PacketizationMode1;
2069 }
2060 template <> 2070 template <>
2061 void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics( 2071 void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
2062 const VideoCodec& config) const { 2072 const VideoCodec& config) const {
2063 EXPECT_EQ( 2073 EXPECT_EQ(
2064 0, memcmp(&config.H264(), &encoder_settings_, sizeof(encoder_settings_))); 2074 0, memcmp(&config.H264(), &encoder_settings_, sizeof(encoder_settings_)));
2075 // Check that packetization mode has propagated.
2076 EXPECT_EQ(kH264PacketizationMode1, config.H264().packetization_mode);
2065 } 2077 }
2066 2078
2067 template <> 2079 template <>
2068 rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings> 2080 rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
2069 VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const { 2081 VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const {
2070 return new rtc::RefCountedObject< 2082 return new rtc::RefCountedObject<
2071 VideoEncoderConfig::H264EncoderSpecificSettings>(encoder_settings_); 2083 VideoEncoderConfig::H264EncoderSpecificSettings>(encoder_settings_);
2072 } 2084 }
2073 2085
2074 template <> 2086 template <>
(...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after
2987 RequestSourceRotateIfVideoOrientationExtensionNotSupported) { 2999 RequestSourceRotateIfVideoOrientationExtensionNotSupported) {
2988 TestRequestSourceRotateVideo(false); 3000 TestRequestSourceRotateVideo(false);
2989 } 3001 }
2990 3002
2991 TEST_F(VideoSendStreamTest, 3003 TEST_F(VideoSendStreamTest,
2992 DoNotRequestsRotationIfVideoOrientationExtensionSupported) { 3004 DoNotRequestsRotationIfVideoOrientationExtensionSupported) {
2993 TestRequestSourceRotateVideo(true); 3005 TestRequestSourceRotateVideo(true);
2994 } 3006 }
2995 3007
2996 } // namespace webrtc 3008 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/payload_router.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698