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

Unified Diff: webrtc/media/engine/webrtcvideoengine2.h

Issue 1822923002: Adding support for RTCRtpEncodingParameters.active flag. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Switch to C++11 for loop. Created 4 years, 9 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
Index: webrtc/media/engine/webrtcvideoengine2.h
diff --git a/webrtc/media/engine/webrtcvideoengine2.h b/webrtc/media/engine/webrtcvideoengine2.h
index 27eadb299ae69160ba7d9a41ca38c74463f4b691..5efce960bf51d18969e70f818d3e00cedf7918aa 100644
--- a/webrtc/media/engine/webrtcvideoengine2.h
+++ b/webrtc/media/engine/webrtcvideoengine2.h
@@ -254,10 +254,12 @@ class WebRtcVideoChannel2 : public VideoMediaChannel, public webrtc::Transport {
void MuteStream(bool mute);
bool DisconnectCapturer();
- void Start();
- void Stop();
+ void SetSend(bool send);
- webrtc::RtpParameters rtp_parameters() const { return rtp_parameters_; }
+ webrtc::RtpParameters rtp_parameters() const {
+ rtc::CritScope cs(&lock_);
pbos-webrtc 2016/03/22 18:13:43 This became non-trivial, move to .cc file.
Taylor Brandstetter 2016/03/22 18:32:43 Done.
+ return rtp_parameters_;
+ }
// Implements webrtc::LoadObserver.
void OnLoadUpdate(Load load) override;
@@ -267,6 +269,10 @@ class WebRtcVideoChannel2 : public VideoMediaChannel, public webrtc::Transport {
void FillBandwidthEstimationInfo(BandwidthEstimationInfo* bwe_info);
private:
+ // Calls Start or Stop according to whether or not |sending_| is true,
+ // and whether or not the encoding in |rtp_parameters_| is active.
+ void UpdateSendState();
pbos-webrtc 2016/03/22 18:13:43 put EXCLUSIVE_LOCKS_REQUIRED(lock_) before ; to ha
Taylor Brandstetter 2016/03/22 18:32:43 Somehow I didn't notice the other methods and that
+
// Parameters needed to reconstruct the underlying stream.
// webrtc::VideoSendStream doesn't support setting a lot of options on the
// fly, so when those need to be changed we tear down and reconstruct with
@@ -372,7 +378,7 @@ class WebRtcVideoChannel2 : public VideoMediaChannel, public webrtc::Transport {
// TODO(skvlad): Move ssrcs_ and ssrc_groups_ into rtp_parameters_.
// TODO(skvlad): Combine parameters_ and rtp_parameters_ once we have only
// one stream per MediaChannel.
- webrtc::RtpParameters rtp_parameters_;
+ webrtc::RtpParameters rtp_parameters_ GUARDED_BY(lock_);
bool pending_encoder_reconfiguration_ GUARDED_BY(lock_);
VideoEncoderSettings encoder_settings_ GUARDED_BY(lock_);
AllocatedEncoder allocated_encoder_ GUARDED_BY(lock_);
@@ -482,9 +488,6 @@ class WebRtcVideoChannel2 : public VideoMediaChannel, public webrtc::Transport {
const webrtc::PacketOptions& options) override;
bool SendRtcp(const uint8_t* data, size_t len) override;
- void StartAllSendStreams();
- void StopAllSendStreams();
-
static std::vector<VideoCodecSettings> MapCodecs(
const std::vector<VideoCodec>& codecs);
std::vector<VideoCodecSettings> FilterSupportedCodecs(

Powered by Google App Engine
This is Rietveld 408576698