Move rtp-specific config out of EncoderSettings.
In VideoSendStream::Config, move payload_name and payload_type from EncoderSettings to Rtp. EncoderSettings now contains configuration for VideoStreamEncoder only, and should perhaps be renamed in a follow up cl. It's no longer passed as an argument to VideoCodecInitializer::SetupCodec. The latter then needs a different way to know the codec type, which is provided by a new codec_type member in VideoEncoderConfig. Bug: webrtc:8830 Change-Id: Ifcc691aef1ee6a95e43c0452c5e630d92a511cd6 Reviewed-on: https://webrtc-review.googlesource.com/62062 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22532}
This commit is contained in:
@ -78,10 +78,12 @@ std::vector<VideoStream> DefaultVideoStreamFactory::CreateEncoderStreams(
|
||||
return CreateVideoStreams(width, height, encoder_config);
|
||||
}
|
||||
|
||||
void FillEncoderConfiguration(size_t num_streams,
|
||||
void FillEncoderConfiguration(VideoCodecType codec_type,
|
||||
size_t num_streams,
|
||||
VideoEncoderConfig* configuration) {
|
||||
RTC_DCHECK_LE(num_streams, DefaultVideoStreamFactory::kMaxNumberOfStreams);
|
||||
|
||||
configuration->codec_type = codec_type;
|
||||
configuration->number_of_streams = num_streams;
|
||||
configuration->video_stream_factory =
|
||||
new rtc::RefCountedObject<DefaultVideoStreamFactory>();
|
||||
@ -94,17 +96,17 @@ void FillEncoderConfiguration(size_t num_streams,
|
||||
}
|
||||
|
||||
VideoReceiveStream::Decoder CreateMatchingDecoder(
|
||||
const VideoSendStream::Config::EncoderSettings& encoder_settings) {
|
||||
int payload_type, const std::string& payload_name) {
|
||||
VideoReceiveStream::Decoder decoder;
|
||||
decoder.payload_type = encoder_settings.payload_type;
|
||||
decoder.payload_name = encoder_settings.payload_name;
|
||||
if (encoder_settings.payload_name == "H264") {
|
||||
decoder.payload_type = payload_type;
|
||||
decoder.payload_name = payload_name;
|
||||
if (payload_name == "H264") {
|
||||
decoder.decoder = H264Decoder::Create().release();
|
||||
} else if (encoder_settings.payload_name == "VP8") {
|
||||
} else if (payload_name == "VP8") {
|
||||
decoder.decoder = VP8Decoder::Create().release();
|
||||
} else if (encoder_settings.payload_name == "VP9") {
|
||||
} else if (payload_name == "VP9") {
|
||||
decoder.decoder = VP9Decoder::Create().release();
|
||||
} else if (encoder_settings.payload_name == "multiplex") {
|
||||
} else if (payload_name == "multiplex") {
|
||||
decoder.decoder = new MultiplexDecoderAdapter(
|
||||
new InternalDecoderFactory(), SdpVideoFormat(cricket::kVp9CodecName));
|
||||
} else {
|
||||
@ -112,5 +114,12 @@ VideoReceiveStream::Decoder CreateMatchingDecoder(
|
||||
}
|
||||
return decoder;
|
||||
}
|
||||
|
||||
VideoReceiveStream::Decoder CreateMatchingDecoder(
|
||||
const VideoSendStream::Config& config) {
|
||||
return CreateMatchingDecoder(config.rtp.payload_type,
|
||||
config.rtp.payload_name);
|
||||
}
|
||||
|
||||
} // namespace test
|
||||
} // namespace webrtc
|
||||
|
Reference in New Issue
Block a user