Deprecate RtpReceiver's SetParameters method

This removes the SetParameters method from AudioRtpReceiver and Video
RtpReceiver, which is currently not used and is not part of the
specifications.


Bug: webrtc:11111
Change-Id: I6f67773bfef2d4b51e9ab670bde17b5fbf5f94c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159307
Reviewed-by: Patrik Höglund <phoglund@google.com>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Saurav Das <dinosaurav@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29995}
This commit is contained in:
Saurav Das 2019-11-21 11:54:16 -08:00 committed by Commit Bot
parent c5d7c52d44
commit 934afc6ba1
19 changed files with 3 additions and 168 deletions

View File

@ -76,8 +76,9 @@ class RTC_EXPORT RtpReceiverInterface : public rtc::RefCountInterface {
// but this API also applies them to receivers, similar to ORTC:
// http://ortc.org/wp-content/uploads/2016/03/ortc.html#rtcrtpparameters*.
virtual RtpParameters GetParameters() const = 0;
// Currently, doesn't support changing any parameters, but may in the future.
virtual bool SetParameters(const RtpParameters& parameters) = 0;
// TODO(dinosaurav): Delete SetParameters entirely after rolling to Chromium.
// Currently, doesn't support changing any parameters.
virtual bool SetParameters(const RtpParameters& parameters) { return false; }
// Does not take ownership of observer.
// Must call SetObserver(nullptr) before the observer is destroyed.
@ -123,7 +124,6 @@ PROXY_CONSTMETHOD0(std::vector<rtc::scoped_refptr<MediaStreamInterface>>,
PROXY_CONSTMETHOD0(cricket::MediaType, media_type)
PROXY_CONSTMETHOD0(std::string, id)
PROXY_CONSTMETHOD0(RtpParameters, GetParameters)
PROXY_METHOD1(bool, SetParameters, const RtpParameters&)
PROXY_METHOD1(void, SetObserver, RtpReceiverObserverInterface*)
PROXY_METHOD1(void, SetJitterBufferMinimumDelay, absl::optional<double>)
PROXY_CONSTMETHOD0(std::vector<RtpSource>, GetSources)

View File

@ -28,7 +28,6 @@ class MockRtpReceiver : public rtc::RefCountedObject<RtpReceiverInterface> {
MOCK_CONST_METHOD0(media_type, cricket::MediaType());
MOCK_CONST_METHOD0(id, std::string());
MOCK_CONST_METHOD0(GetParameters, RtpParameters());
MOCK_METHOD1(SetParameters, bool(const RtpParameters&));
MOCK_METHOD1(SetObserver, void(RtpReceiverObserverInterface*));
MOCK_METHOD1(SetJitterBufferMinimumDelay, void(absl::optional<double>));
MOCK_CONST_METHOD0(GetSources, std::vector<RtpSource>());

View File

@ -168,18 +168,6 @@ class RtpHelper : public Base {
}
return webrtc::RtpParameters();
}
virtual bool SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) {
auto parameters_iterator = rtp_receive_parameters_.find(ssrc);
if (parameters_iterator != rtp_receive_parameters_.end()) {
parameters_iterator->second = parameters;
return true;
}
// Replicate the behavior of the real media channel: return false
// when setting parameters for unknown SSRCs.
return false;
}
bool IsStreamMuted(uint32_t ssrc) const {
bool ret = muted_streams_.find(ssrc) != muted_streams_.end();

View File

@ -806,9 +806,6 @@ class VoiceMediaChannel : public MediaChannel, public Delayable {
// member.
virtual webrtc::RtpParameters GetRtpReceiveParameters(
uint32_t ssrc) const = 0;
virtual bool SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) = 0;
// Starts or stops playout of received audio.
virtual void SetPlayout(bool playout) = 0;
// Starts or stops sending (and potentially capture) of local audio.
@ -875,9 +872,6 @@ class VideoMediaChannel : public MediaChannel, public Delayable {
// member.
virtual webrtc::RtpParameters GetRtpReceiveParameters(
uint32_t ssrc) const = 0;
virtual bool SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) = 0;
// Gets the currently set codecs/payload types to be used for outgoing media.
virtual bool GetSendCodec(VideoCodec* send_codec) = 0;
// Starts or stops transmission (and potentially capture) of local video.

View File

@ -952,40 +952,6 @@ webrtc::RtpParameters WebRtcVideoChannel::GetRtpReceiveParameters(
return rtp_params;
}
bool WebRtcVideoChannel::SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) {
RTC_DCHECK_RUN_ON(&thread_checker_);
TRACE_EVENT0("webrtc", "WebRtcVideoChannel::SetRtpReceiveParameters");
// SSRC of 0 represents an unsignaled receive stream.
if (ssrc == 0) {
if (!default_unsignalled_ssrc_handler_.GetDefaultSink()) {
RTC_LOG(LS_WARNING)
<< "Attempting to set RTP parameters for the default, "
"unsignaled video receive stream, but not yet "
"configured to receive such a stream.";
return false;
}
} else {
auto it = receive_streams_.find(ssrc);
if (it == receive_streams_.end()) {
RTC_LOG(LS_WARNING)
<< "Attempting to set RTP receive parameters for stream "
<< "with SSRC " << ssrc << " which doesn't exist.";
return false;
}
}
webrtc::RtpParameters current_parameters = GetRtpReceiveParameters(ssrc);
if (current_parameters != parameters) {
RTC_DLOG(LS_ERROR) << "Changing the RTP receive parameters is currently "
<< "unsupported.";
return false;
}
return true;
}
bool WebRtcVideoChannel::GetChangedRecvParameters(
const VideoRecvParameters& params,
ChangedRecvParameters* changed_params) const {

View File

@ -129,9 +129,6 @@ class WebRtcVideoChannel : public VideoMediaChannel,
uint32_t ssrc,
const webrtc::RtpParameters& parameters) override;
webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override;
bool SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) override;
bool GetSendCodec(VideoCodec* send_codec) override;
bool SetSend(bool send) override;
bool SetVideoSend(

View File

@ -7328,9 +7328,6 @@ TEST_F(WebRtcVideoChannelTest, SetAndGetRtpReceiveParameters) {
webrtc::RtpParameters initial_params =
channel_->GetRtpReceiveParameters(last_ssrc_);
// We should be able to set the params we just got.
EXPECT_TRUE(channel_->SetRtpReceiveParameters(last_ssrc_, initial_params));
// ... And this shouldn't change the params returned by
// GetRtpReceiveParameters.
EXPECT_EQ(initial_params, channel_->GetRtpReceiveParameters(last_ssrc_));

View File

@ -1450,38 +1450,6 @@ webrtc::RtpParameters WebRtcVoiceMediaChannel::GetRtpReceiveParameters(
return rtp_params;
}
bool WebRtcVoiceMediaChannel::SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) {
RTC_DCHECK(worker_thread_checker_.IsCurrent());
// SSRC of 0 represents the default receive stream.
if (ssrc == 0) {
if (!default_sink_) {
RTC_LOG(LS_WARNING)
<< "Attempting to set RTP parameters for the default, "
"unsignaled audio receive stream, but not yet "
"configured to receive such a stream.";
return false;
}
} else {
auto it = recv_streams_.find(ssrc);
if (it == recv_streams_.end()) {
RTC_LOG(LS_WARNING)
<< "Attempting to set RTP receive parameters for stream "
<< "with ssrc " << ssrc << " which doesn't exist.";
return false;
}
}
webrtc::RtpParameters current_parameters = GetRtpReceiveParameters(ssrc);
if (current_parameters != parameters) {
RTC_DLOG(LS_ERROR) << "Changing the RTP receive parameters is currently "
<< "unsupported.";
return false;
}
return true;
}
bool WebRtcVoiceMediaChannel::SetOptions(const AudioOptions& options) {
RTC_DCHECK(worker_thread_checker_.IsCurrent());
RTC_LOG(LS_INFO) << "Setting voice channel options: " << options.ToString();

View File

@ -151,9 +151,6 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
uint32_t ssrc,
const webrtc::RtpParameters& parameters) override;
webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override;
bool SetRtpReceiveParameters(
uint32_t ssrc,
const webrtc::RtpParameters& parameters) override;
void SetPlayout(bool playout) override;
void SetSend(bool send) override;

View File

@ -1373,9 +1373,6 @@ TEST_F(WebRtcVoiceEngineTestFake, SetAndGetRtpReceiveParameters) {
webrtc::RtpParameters initial_params =
channel_->GetRtpReceiveParameters(kSsrcX);
// We should be able to set the params we just got.
EXPECT_TRUE(channel_->SetRtpReceiveParameters(kSsrcX, initial_params));
// ... And this shouldn't change the params returned by
// GetRtpReceiveParameters.
webrtc::RtpParameters new_params = channel_->GetRtpReceiveParameters(kSsrcX);

View File

@ -117,17 +117,6 @@ RtpParameters AudioRtpReceiver::GetParameters() const {
});
}
bool AudioRtpReceiver::SetParameters(const RtpParameters& parameters) {
TRACE_EVENT0("webrtc", "AudioRtpReceiver::SetParameters");
if (!media_channel_ || stopped_) {
return false;
}
return worker_thread_->Invoke<bool>(RTC_FROM_HERE, [&] {
return media_channel_->SetRtpReceiveParameters(ssrc_.value_or(0),
parameters);
});
}
void AudioRtpReceiver::SetFrameDecryptor(
rtc::scoped_refptr<FrameDecryptorInterface> frame_decryptor) {
frame_decryptor_ = std::move(frame_decryptor);

View File

@ -75,7 +75,6 @@ class AudioRtpReceiver : public ObserverInterface,
std::string id() const override { return id_; }
RtpParameters GetParameters() const override;
bool SetParameters(const RtpParameters& parameters) override;
void SetFrameDecryptor(
rtc::scoped_refptr<FrameDecryptorInterface> frame_decryptor) override;

View File

@ -1339,26 +1339,6 @@ TEST_F(RtpSenderReceiverTest, SetVideoBitratePriority) {
DestroyVideoRtpSender();
}
TEST_F(RtpSenderReceiverTest, AudioReceiverCanSetParameters) {
CreateAudioRtpReceiver();
RtpParameters params = audio_rtp_receiver_->GetParameters();
EXPECT_EQ(1u, params.encodings.size());
EXPECT_TRUE(audio_rtp_receiver_->SetParameters(params));
DestroyAudioRtpReceiver();
}
TEST_F(RtpSenderReceiverTest, VideoReceiverCanSetParameters) {
CreateVideoRtpReceiver();
RtpParameters params = video_rtp_receiver_->GetParameters();
EXPECT_EQ(1u, params.encodings.size());
EXPECT_TRUE(video_rtp_receiver_->SetParameters(params));
DestroyVideoRtpReceiver();
}
TEST_F(RtpSenderReceiverTest, VideoReceiverCanGetParametersWithSimulcast) {
CreateVideoRtpReceiverWithSimulcast({}, 2);

View File

@ -34,7 +34,6 @@ class MockRtpReceiverInternal : public RtpReceiverInternal {
MOCK_CONST_METHOD0(media_type, cricket::MediaType());
MOCK_CONST_METHOD0(id, std::string());
MOCK_CONST_METHOD0(GetParameters, RtpParameters());
MOCK_METHOD1(SetParameters, bool(const RtpParameters&));
MOCK_METHOD1(SetObserver, void(RtpReceiverObserverInterface*));
MOCK_METHOD1(SetJitterBufferMinimumDelay, void(absl::optional<double>));
MOCK_CONST_METHOD0(GetSources, std::vector<RtpSource>());

View File

@ -97,18 +97,6 @@ RtpParameters VideoRtpReceiver::GetParameters() const {
});
}
bool VideoRtpReceiver::SetParameters(const RtpParameters& parameters) {
TRACE_EVENT0("webrtc", "VideoRtpReceiver::SetParameters");
if (!media_channel_ || stopped_) {
return false;
}
return worker_thread_->Invoke<bool>(RTC_FROM_HERE, [&] {
// TODO(bugs.webrtc.org/8694): Stop using 0 to mean unsignalled SSRC
return media_channel_->SetRtpReceiveParameters(ssrc_.value_or(0),
parameters);
});
}
void VideoRtpReceiver::SetFrameDecryptor(
rtc::scoped_refptr<FrameDecryptorInterface> frame_decryptor) {
frame_decryptor_ = std::move(frame_decryptor);

View File

@ -76,7 +76,6 @@ class VideoRtpReceiver : public rtc::RefCountedObject<RtpReceiverInternal>,
std::string id() const override { return id_; }
RtpParameters GetParameters() const override;
bool SetParameters(const RtpParameters& parameters) override;
void SetFrameDecryptor(
rtc::scoped_refptr<FrameDecryptorInterface> frame_decryptor) override;

View File

@ -39,11 +39,6 @@ public class RtpReceiver {
return cachedTrack;
}
public boolean setParameters(@Nullable RtpParameters parameters) {
checkRtpReceiverExists();
return parameters == null ? false : nativeSetParameters(nativeRtpReceiver, parameters);
}
public RtpParameters getParameters() {
checkRtpReceiverExists();
return nativeGetParameters(nativeRtpReceiver);
@ -89,7 +84,6 @@ public class RtpReceiver {
// This should increment the reference count of the track.
// Will be released in dispose().
private static native long nativeGetTrack(long rtpReceiver);
private static native boolean nativeSetParameters(long rtpReceiver, RtpParameters parameters);
private static native RtpParameters nativeGetParameters(long rtpReceiver);
private static native String nativeGetId(long rtpReceiver);
private static native long nativeSetObserver(long rtpReceiver, Observer observer);

View File

@ -74,15 +74,6 @@ static jlong JNI_RtpReceiver_GetTrack(JNIEnv* jni,
.release());
}
static jboolean JNI_RtpReceiver_SetParameters(
JNIEnv* jni,
jlong j_rtp_receiver_pointer,
const JavaParamRef<jobject>& j_parameters) {
RtpParameters parameters = JavaToNativeRtpParameters(jni, j_parameters);
return reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)
->SetParameters(parameters);
}
static ScopedJavaLocalRef<jobject> JNI_RtpReceiver_GetParameters(
JNIEnv* jni,
jlong j_rtp_receiver_pointer) {

View File

@ -53,13 +53,6 @@ void RtpReceiverDelegateAdapter::OnFirstPacketReceived(
initWithNativeParameters:_nativeRtpReceiver->GetParameters()];
}
- (void)setParameters:(RTCRtpParameters *)parameters {
if (!_nativeRtpReceiver->SetParameters(parameters.nativeParameters)) {
RTCLogError(@"RTCRtpReceiver(%p): Failed to set parameters: %@", self,
parameters);
}
}
- (nullable RTCMediaStreamTrack *)track {
rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> nativeTrack(
_nativeRtpReceiver->track());