Delete the default implementations of MediaTransportInterface methods.
This change deletes the default implementations of state and data channel methods (SetMediaTransportStateCallback, SendData, CloseChannel, and SetDataSink). It adds stub implementations to LoopbackMediaTransport and FakeMediaTransport. Bug: webrtc:9719 Change-Id: I49b7780c055b552330546b460c2e79ce8df81833 Reviewed-on: https://webrtc-review.googlesource.com/c/108940 Commit-Queue: Bjorn Mellem <mellem@webrtc.org> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org> Reviewed-by: Seth Hampson <shampson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25457}
This commit is contained in:
@ -85,19 +85,6 @@ MediaTransportEncodedVideoFrame::MediaTransportEncodedVideoFrame(
|
||||
|
||||
SendDataParams::SendDataParams() = default;
|
||||
|
||||
RTCError MediaTransportInterface::SendData(
|
||||
int channel_id,
|
||||
const SendDataParams& params,
|
||||
const rtc::CopyOnWriteBuffer& buffer) {
|
||||
RTC_NOTREACHED();
|
||||
return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
|
||||
}
|
||||
|
||||
RTCError MediaTransportInterface::CloseChannel(int channel_id) {
|
||||
RTC_NOTREACHED();
|
||||
return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
|
||||
}
|
||||
|
||||
RTCErrorOr<std::unique_ptr<MediaTransportInterface>>
|
||||
MediaTransportFactory::CreateMediaTransport(
|
||||
rtc::PacketTransportInternal* packet_transport,
|
||||
|
@ -336,29 +336,25 @@ class MediaTransportInterface {
|
||||
// callback must be unregistered by setting it to nullptr.
|
||||
// A newly registered callback will be called with the current state.
|
||||
// Media transport does not invoke this callback concurrently.
|
||||
// TODO(mellem): Make this pure virtual once all implementations support it.
|
||||
virtual void SetMediaTransportStateCallback(
|
||||
MediaTransportStateCallback* callback) {}
|
||||
MediaTransportStateCallback* callback) = 0;
|
||||
|
||||
// Sends a data buffer to the remote endpoint using the given send parameters.
|
||||
// |buffer| may not be larger than 256 KiB. Returns an error if the send
|
||||
// fails.
|
||||
// TODO(mellem): Make this pure virtual once all implementations support it.
|
||||
virtual RTCError SendData(int channel_id,
|
||||
const SendDataParams& params,
|
||||
const rtc::CopyOnWriteBuffer& buffer);
|
||||
const rtc::CopyOnWriteBuffer& buffer) = 0;
|
||||
|
||||
// Closes |channel_id| gracefully. Returns an error if |channel_id| is not
|
||||
// open. Data sent after the closing procedure begins will not be
|
||||
// transmitted. The channel becomes closed after pending data is transmitted.
|
||||
// TODO(mellem): Make this pure virtual once all implementations support it.
|
||||
virtual RTCError CloseChannel(int channel_id);
|
||||
virtual RTCError CloseChannel(int channel_id) = 0;
|
||||
|
||||
// Sets a sink for data messages and channel state callbacks. Before media
|
||||
// transport is destroyed, the sink must be unregistered by setting it to
|
||||
// nullptr.
|
||||
// TODO(mellem): Make this pure virtual once all implementations support it.
|
||||
virtual void SetDataSink(DataChannelSink* sink) {}
|
||||
virtual void SetDataSink(DataChannelSink* sink) = 0;
|
||||
|
||||
// TODO(sukhanov): RtcEventLogs.
|
||||
};
|
||||
|
@ -57,6 +57,19 @@ class FakeMediaTransport : public MediaTransportInterface {
|
||||
void SetTargetTransferRateObserver(
|
||||
webrtc::TargetTransferRateObserver* observer) override {}
|
||||
|
||||
void SetMediaTransportStateCallback(
|
||||
MediaTransportStateCallback* callback) override {}
|
||||
|
||||
RTCError SendData(int channel_id,
|
||||
const SendDataParams& params,
|
||||
const rtc::CopyOnWriteBuffer& buffer) override {
|
||||
return RTCError::OK();
|
||||
}
|
||||
|
||||
RTCError CloseChannel(int channel_id) override { return RTCError::OK(); }
|
||||
|
||||
void SetDataSink(DataChannelSink* sink) override {}
|
||||
|
||||
private:
|
||||
const MediaTransportSettings settings_;
|
||||
};
|
||||
|
@ -64,6 +64,21 @@ class MediaTransportPair {
|
||||
void SetTargetTransferRateObserver(
|
||||
webrtc::TargetTransferRateObserver* observer) override {}
|
||||
|
||||
void SetMediaTransportStateCallback(
|
||||
MediaTransportStateCallback* callback) override {}
|
||||
|
||||
RTCError SendData(int channel_id,
|
||||
const SendDataParams& params,
|
||||
const rtc::CopyOnWriteBuffer& buffer) override {
|
||||
return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
|
||||
}
|
||||
|
||||
RTCError CloseChannel(int channel_id) override {
|
||||
return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
|
||||
}
|
||||
|
||||
void SetDataSink(DataChannelSink* sink) override {}
|
||||
|
||||
private:
|
||||
void OnData(uint64_t channel_id, MediaTransportEncodedAudioFrame frame) {
|
||||
if (sink_) {
|
||||
|
Reference in New Issue
Block a user