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

Unified Diff: media/engine/webrtcvideoengine.h

Issue 2951033003: [EXPERIMENTAL] Generic stereo codec with index header sending single frames
Patch Set: Rebase and add external codec support. Created 3 years, 3 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/mediaconstants.cc ('k') | media/engine/webrtcvideoengine.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/engine/webrtcvideoengine.h
diff --git a/media/engine/webrtcvideoengine.h b/media/engine/webrtcvideoengine.h
index 23d9b480167014c480ab4eae7a9d75a4caa97a54..2406542b37794dae2ffc00944c818671cc121bd5 100644
--- a/media/engine/webrtcvideoengine.h
+++ b/media/engine/webrtcvideoengine.h
@@ -121,8 +121,8 @@ class WebRtcVideoEngine {
RtpCapabilities GetCapabilities() const;
private:
- const std::unique_ptr<DecoderFactoryAdapter> decoder_factory_;
- const std::unique_ptr<EncoderFactoryAdapter> encoder_factory_;
+ std::unique_ptr<DecoderFactoryAdapter> decoder_factory_;
+ std::unique_ptr<EncoderFactoryAdapter> encoder_factory_;
};
class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
@@ -130,8 +130,8 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
WebRtcVideoChannel(webrtc::Call* call,
const MediaConfig& config,
const VideoOptions& options,
- const EncoderFactoryAdapter* encoder_factory,
- const DecoderFactoryAdapter* decoder_factory);
+ EncoderFactoryAdapter* encoder_factory,
+ DecoderFactoryAdapter* decoder_factory);
~WebRtcVideoChannel() override;
// VideoMediaChannel implementation
@@ -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;
@@ -259,7 +260,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
const StreamParams& sp,
webrtc::VideoSendStream::Config config,
const VideoOptions& options,
- const EncoderFactoryAdapter* encoder_factory,
+ EncoderFactoryAdapter* encoder_factory,
bool enable_cpu_overuse_detection,
int max_bitrate_bps,
const rtc::Optional<VideoCodecSettings>& codec_settings,
@@ -337,8 +338,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
const bool enable_cpu_overuse_detection_;
rtc::VideoSourceInterface<webrtc::VideoFrame>* source_
RTC_ACCESS_ON(&thread_checker_);
- const EncoderFactoryAdapter* const encoder_factory_
- RTC_ACCESS_ON(&thread_checker_);
+ EncoderFactoryAdapter* encoder_factory_ RTC_ACCESS_ON(&thread_checker_);
webrtc::VideoSendStream* stream_ RTC_ACCESS_ON(&thread_checker_);
rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_
@@ -369,7 +369,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
webrtc::Call* call,
const StreamParams& sp,
webrtc::VideoReceiveStream::Config config,
- const DecoderFactoryAdapter* decoder_factory,
+ DecoderFactoryAdapter* decoder_factory,
bool default_stream,
const std::vector<VideoCodecSettings>& recv_codecs,
const webrtc::FlexfecReceiveStream::Config& flexfec_config);
@@ -430,7 +430,7 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
webrtc::FlexfecReceiveStream::Config flexfec_config_;
webrtc::FlexfecReceiveStream* flexfec_stream_;
- const DecoderFactoryAdapter* decoder_factory_;
+ DecoderFactoryAdapter* decoder_factory_;
DecoderMap allocated_decoders_;
rtc::CriticalSection sink_lock_;
@@ -460,6 +460,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,
@@ -494,8 +497,8 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
rtc::Optional<VideoCodecSettings> send_codec_;
rtc::Optional<std::vector<webrtc::RtpExtension>> send_rtp_extensions_;
- const EncoderFactoryAdapter* const encoder_factory_;
- const DecoderFactoryAdapter* const decoder_factory_;
+ EncoderFactoryAdapter* encoder_factory_;
+ DecoderFactoryAdapter* decoder_factory_;
std::vector<VideoCodecSettings> recv_codecs_;
std::vector<webrtc::RtpExtension> recv_rtp_extensions_;
// See reason for keeping track of the FlexFEC payload type separately in
« no previous file with comments | « media/base/mediaconstants.cc ('k') | media/engine/webrtcvideoengine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698