| Index: webrtc/media/engine/webrtcvideoengine.h
|
| diff --git a/webrtc/media/engine/webrtcvideoengine.h b/webrtc/media/engine/webrtcvideoengine.h
|
| index 0d51aa758fb7e7d412301b6542615a08f48edba3..184ab2076af2f814d39470f68d684efb89f62a5d 100644
|
| --- a/webrtc/media/engine/webrtcvideoengine.h
|
| +++ b/webrtc/media/engine/webrtcvideoengine.h
|
| @@ -205,6 +205,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| const VideoCodecSettings& b);
|
|
|
| VideoCodec codec;
|
| + rtc::Optional<VideoCodec> stereo_codec;
|
| webrtc::UlpfecConfig ulpfec;
|
| int flexfec_payload_type;
|
| int rtx_payload_type;
|
| @@ -328,6 +329,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| // matches.
|
| AllocatedEncoder CreateVideoEncoder(const VideoCodec& codec,
|
| bool force_encoder_allocation);
|
| + AllocatedEncoder CreateStereoVideoEncoder(const VideoCodec& codec);
|
| void DestroyVideoEncoder(AllocatedEncoder* encoder);
|
| void SetCodec(const VideoCodecSettings& codec,
|
| bool force_encoder_allocation);
|
| @@ -357,6 +359,8 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| ACCESS_ON(&thread_checker_);
|
| const std::unique_ptr<WebRtcVideoEncoderFactory> internal_encoder_factory_
|
| ACCESS_ON(&thread_checker_);
|
| + std::unique_ptr<WebRtcVideoEncoderFactory> stereo_encoder_factory_
|
| + ACCESS_ON(&thread_checker_);
|
|
|
| webrtc::VideoSendStream* stream_ ACCESS_ON(&thread_checker_);
|
| rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_
|
| @@ -430,6 +434,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| AllocatedDecoder CreateOrReuseVideoDecoder(
|
| std::vector<AllocatedDecoder>* old_decoder,
|
| const VideoCodec& codec);
|
| + AllocatedDecoder CreateStereoVideoDecoder(const VideoCodec& codec);
|
| void ClearDecoders(std::vector<AllocatedDecoder>* allocated_decoders);
|
|
|
| std::string GetCodecNameFromPayloadType(int payload_type);
|
| @@ -447,6 +452,8 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| webrtc::FlexfecReceiveStream* flexfec_stream_;
|
|
|
| WebRtcVideoDecoderFactory* const external_decoder_factory_;
|
| + const std::unique_ptr<WebRtcVideoDecoderFactory> internal_decoder_factory_;
|
| + std::unique_ptr<WebRtcVideoDecoderFactory> stereo_decoder_factory_;
|
| std::vector<AllocatedDecoder> allocated_decoders_;
|
|
|
| rtc::CriticalSection sink_lock_;
|
| @@ -475,6 +482,9 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
| // codec that is supported locally will be selected.
|
| rtc::Optional<VideoCodecSettings> SelectSendVideoCodec(
|
| const std::vector<VideoCodecSettings>& remote_mapped_codecs) const;
|
| + rtc::Optional<WebRtcVideoChannel::VideoCodecSettings>
|
| + SelectStereoAssociatedVideoCodec(
|
| + const std::vector<VideoCodecSettings>& remote_mapped_codecs) const;
|
|
|
| static bool NonFlexfecReceiveCodecsHaveChanged(
|
| std::vector<VideoCodecSettings> before,
|
|
|