Use SdpVideoFormat in VideoReceiveStream::Decoder

Replaces payload_name and codec_params.

Tbr: srte@webrtc.org
Bug: webrtc:9106
Change-Id: Ib45c501c6eb41e92fbb24ab00ada18bf10be42ed
Reviewed-on: https://webrtc-review.googlesource.com/98161
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24691}
This commit is contained in:
Niels Möller
2018-09-11 15:56:04 +02:00
committed by Commit Bot
parent c7fff58d1e
commit cb7e1d2edb
18 changed files with 46 additions and 47 deletions

View File

@ -48,7 +48,7 @@ VideoCodec CreateDecoderVideoCodec(const VideoReceiveStream::Decoder& decoder) {
memset(&codec, 0, sizeof(codec));
codec.plType = decoder.payload_type;
codec.codecType = PayloadStringToCodecType(decoder.payload_name);
codec.codecType = PayloadStringToCodecType(decoder.video_format.name);
if (codec.codecType == kVideoCodecVP8) {
*(codec.VP8()) = VideoEncoder::GetDefaultVp8Settings();
@ -57,10 +57,11 @@ VideoCodec CreateDecoderVideoCodec(const VideoReceiveStream::Decoder& decoder) {
} else if (codec.codecType == kVideoCodecH264) {
*(codec.H264()) = VideoEncoder::GetDefaultH264Settings();
codec.H264()->profile =
H264::ParseSdpProfileLevelId(decoder.codec_params)->profile;
H264::ParseSdpProfileLevelId(decoder.video_format.parameters)->profile;
} else if (codec.codecType == kVideoCodecMultiplex) {
VideoReceiveStream::Decoder associated_decoder = decoder;
associated_decoder.payload_name = CodecTypeToPayloadString(kVideoCodecVP9);
associated_decoder.video_format =
SdpVideoFormat(CodecTypeToPayloadString(kVideoCodecVP9));
VideoCodec associated_codec = CreateDecoderVideoCodec(associated_decoder);
associated_codec.codecType = kVideoCodecMultiplex;
return associated_codec;
@ -205,7 +206,8 @@ void VideoReceiveStream::Start() {
video_receiver_.RegisterExternalDecoder(decoder.decoder,
decoder.payload_type);
VideoCodec codec = CreateDecoderVideoCodec(decoder);
rtp_video_stream_receiver_.AddReceiveCodec(codec, decoder.codec_params);
rtp_video_stream_receiver_.AddReceiveCodec(codec,
decoder.video_format.parameters);
RTC_CHECK_EQ(VCM_OK, video_receiver_.RegisterReceiveCodec(
&codec, num_cpu_cores_, false));
}