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

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

Issue 2337453002: H.264 packetization mode 0 (try 2) (Closed)
Patch Set: Addressed hbos comments 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
« webrtc/test/fake_encoder.cc ('K') | « 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 1871 matching lines...) Expand 10 before | Expand all | Expand 10 after
1882 VideoCodecConfigObserver(VideoCodecType video_codec_type, 1882 VideoCodecConfigObserver(VideoCodecType video_codec_type,
1883 const char* codec_name) 1883 const char* codec_name)
1884 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs), 1884 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs),
1885 FakeEncoder(Clock::GetRealTimeClock()), 1885 FakeEncoder(Clock::GetRealTimeClock()),
1886 video_codec_type_(video_codec_type), 1886 video_codec_type_(video_codec_type),
1887 codec_name_(codec_name), 1887 codec_name_(codec_name),
1888 init_encode_event_(false, false), 1888 init_encode_event_(false, false),
1889 num_initializations_(0), 1889 num_initializations_(0),
1890 stream_(nullptr) { 1890 stream_(nullptr) {
1891 memset(&encoder_settings_, 0, sizeof(encoder_settings_)); 1891 memset(&encoder_settings_, 0, sizeof(encoder_settings_));
1892 InitCodecSpecifics();
1892 } 1893 }
1893 1894
1894 private: 1895 private:
1895 class VideoStreamFactory 1896 class VideoStreamFactory
1896 : public VideoEncoderConfig::VideoStreamFactoryInterface { 1897 : public VideoEncoderConfig::VideoStreamFactoryInterface {
1897 public: 1898 public:
1898 VideoStreamFactory() {} 1899 VideoStreamFactory() {}
1899 1900
1900 private: 1901 private:
1901 std::vector<VideoStream> CreateEncoderStreams( 1902 std::vector<VideoStream> CreateEncoderStreams(
1902 int width, 1903 int width,
1903 int height, 1904 int height,
1904 const VideoEncoderConfig& encoder_config) override { 1905 const VideoEncoderConfig& encoder_config) override {
1905 std::vector<VideoStream> streams = 1906 std::vector<VideoStream> streams =
1906 test::CreateVideoStreams(width, height, encoder_config); 1907 test::CreateVideoStreams(width, height, encoder_config);
1907 for (size_t i = 0; i < streams.size(); ++i) { 1908 for (size_t i = 0; i < streams.size(); ++i) {
1908 streams[i].temporal_layer_thresholds_bps.resize( 1909 streams[i].temporal_layer_thresholds_bps.resize(
1909 kVideoCodecConfigObserverNumberOfTemporalLayers - 1); 1910 kVideoCodecConfigObserverNumberOfTemporalLayers - 1);
1910 } 1911 }
1911 return streams; 1912 return streams;
1912 } 1913 }
1913 }; 1914 };
1914 1915
1916 void InitCodecSpecifics();
1917
1915 void ModifyVideoConfigs( 1918 void ModifyVideoConfigs(
1916 VideoSendStream::Config* send_config, 1919 VideoSendStream::Config* send_config,
1917 std::vector<VideoReceiveStream::Config>* receive_configs, 1920 std::vector<VideoReceiveStream::Config>* receive_configs,
1918 VideoEncoderConfig* encoder_config) override { 1921 VideoEncoderConfig* encoder_config) override {
1919 send_config->encoder_settings.encoder = this; 1922 send_config->encoder_settings.encoder = this;
1920 send_config->encoder_settings.payload_name = codec_name_; 1923 send_config->encoder_settings.payload_name = codec_name_;
1921 1924
1922 encoder_config->encoder_specific_settings = GetEncoderSpecificSettings(); 1925 encoder_config->encoder_specific_settings = GetEncoderSpecificSettings();
1923 encoder_config->video_stream_factory = 1926 encoder_config->video_stream_factory =
1924 new rtc::RefCountedObject<VideoStreamFactory>(); 1927 new rtc::RefCountedObject<VideoStreamFactory>();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1969 1972
1970 T encoder_settings_; 1973 T encoder_settings_;
1971 const VideoCodecType video_codec_type_; 1974 const VideoCodecType video_codec_type_;
1972 const char* const codec_name_; 1975 const char* const codec_name_;
1973 rtc::Event init_encode_event_; 1976 rtc::Event init_encode_event_;
1974 size_t num_initializations_; 1977 size_t num_initializations_;
1975 VideoSendStream* stream_; 1978 VideoSendStream* stream_;
1976 VideoEncoderConfig encoder_config_; 1979 VideoEncoderConfig encoder_config_;
1977 }; 1980 };
1978 1981
1982 template <typename T>
1983 void VideoCodecConfigObserver<T>::InitCodecSpecifics() {}
1984
1985 template <>
1986 void VideoCodecConfigObserver<VideoCodecH264>::InitCodecSpecifics() {
1987 encoder_settings_.packetization_mode = kH264PacketizationMode1;
1988 }
1979 template <> 1989 template <>
1980 void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics( 1990 void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
1981 const VideoCodec& config) const { 1991 const VideoCodec& config) const {
1982 EXPECT_EQ( 1992 EXPECT_EQ(
1983 0, memcmp(&config.H264(), &encoder_settings_, sizeof(encoder_settings_))); 1993 0, memcmp(&config.H264(), &encoder_settings_, sizeof(encoder_settings_)));
1994 // Check that packetization mode has propagated.
1995 EXPECT_EQ(kH264PacketizationMode1,
1996 config.codecSpecific.H264.packetization_mode);
1984 } 1997 }
1985 1998
1986 template <> 1999 template <>
1987 rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings> 2000 rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
1988 VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const { 2001 VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const {
1989 return new rtc::RefCountedObject< 2002 return new rtc::RefCountedObject<
1990 VideoEncoderConfig::H264EncoderSpecificSettings>(encoder_settings_); 2003 VideoEncoderConfig::H264EncoderSpecificSettings>(encoder_settings_);
1991 } 2004 }
1992 2005
1993 template <> 2006 template <>
(...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after
2873 observation_complete_.Set(); 2886 observation_complete_.Set();
2874 } 2887 }
2875 } 2888 }
2876 } test; 2889 } test;
2877 2890
2878 RunBaseTest(&test); 2891 RunBaseTest(&test);
2879 } 2892 }
2880 #endif // !defined(RTC_DISABLE_VP9) 2893 #endif // !defined(RTC_DISABLE_VP9)
2881 2894
2882 } // namespace webrtc 2895 } // namespace webrtc
OLDNEW
« webrtc/test/fake_encoder.cc ('K') | « webrtc/video/payload_router.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698