aboutsummaryrefslogtreecommitdiff
path: root/call/audio_receive_stream.h
diff options
context:
space:
mode:
authorErwin Jansen <jansene@google.com>2021-06-30 07:29:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-06-30 07:29:26 +0000
commit059cdc5996938f5f6b5343b6c969c12098275587 (patch)
tree6eacaffe4bebf8e00c290c1e1839e084b0c52e88 /call/audio_receive_stream.h
parent97e54a7e73c7b24e464ef06ef3c3b3716f21bb15 (diff)
parent16be34ae72cdb525c88c2b31b21b976f35fe36d8 (diff)
downloadwebrtc-059cdc5996938f5f6b5343b6c969c12098275587.tar.gz
Merge "Merge upstream-master and enable ARM64" into emu-master-devemu-31-stable-releaseemu-31-release
Diffstat (limited to 'call/audio_receive_stream.h')
-rw-r--r--call/audio_receive_stream.h48
1 files changed, 16 insertions, 32 deletions
diff --git a/call/audio_receive_stream.h b/call/audio_receive_stream.h
index 6f74492927..54729d0dc0 100644
--- a/call/audio_receive_stream.h
+++ b/call/audio_receive_stream.h
@@ -20,17 +20,14 @@
#include "api/audio_codecs/audio_decoder_factory.h"
#include "api/call/transport.h"
#include "api/crypto/crypto_options.h"
-#include "api/crypto/frame_decryptor_interface.h"
-#include "api/frame_transformer_interface.h"
#include "api/rtp_parameters.h"
-#include "api/scoped_refptr.h"
-#include "api/transport/rtp/rtp_source.h"
+#include "call/receive_stream.h"
#include "call/rtp_config.h"
namespace webrtc {
class AudioSinkInterface;
-class AudioReceiveStream {
+class AudioReceiveStream : public MediaReceiveStream {
public:
struct Stats {
Stats();
@@ -106,29 +103,14 @@ class AudioReceiveStream {
std::string ToString() const;
// Receive-stream specific RTP settings.
- struct Rtp {
+ struct Rtp : public RtpConfig {
Rtp();
~Rtp();
std::string ToString() const;
- // Synchronization source (stream identifier) to be received.
- uint32_t remote_ssrc = 0;
-
- // Sender SSRC used for sending RTCP (such as receiver reports).
- uint32_t local_ssrc = 0;
-
- // Enable feedback for send side bandwidth estimation.
- // See
- // https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions
- // for details.
- bool transport_cc = false;
-
// See NackConfig for description.
NackConfig nack;
-
- // RTP header extensions used for the received stream.
- std::vector<RtpExtension> extensions;
} rtp;
Transport* rtcp_send_transport = nullptr;
@@ -157,22 +139,26 @@ class AudioReceiveStream {
// An optional custom frame decryptor that allows the entire frame to be
// decrypted in whatever way the caller choses. This is not required by
// default.
+ // TODO(tommi): Remove this member variable from the struct. It's not
+ // a part of the AudioReceiveStream state but rather a pass through
+ // variable.
rtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor;
// An optional frame transformer used by insertable streams to transform
// encoded frames.
+ // TODO(tommi): Remove this member variable from the struct. It's not
+ // a part of the AudioReceiveStream state but rather a pass through
+ // variable.
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer;
};
- // Reconfigure the stream according to the Configuration.
- virtual void Reconfigure(const Config& config) = 0;
-
- // Starts stream activity.
- // When a stream is active, it can receive, process and deliver packets.
- virtual void Start() = 0;
- // Stops stream activity.
- // When a stream is stopped, it can't receive, process or deliver packets.
- virtual void Stop() = 0;
+ // Methods that support reconfiguring the stream post initialization.
+ virtual void SetDecoderMap(std::map<int, SdpAudioFormat> decoder_map) = 0;
+ virtual void SetUseTransportCcAndNackHistory(bool use_transport_cc,
+ int history_ms) = 0;
+ // Set/change the rtp header extensions. Must be called on the packet
+ // delivery thread.
+ virtual void SetRtpExtensions(std::vector<RtpExtension> extensions) = 0;
// Returns true if the stream has been started.
virtual bool IsRunning() const = 0;
@@ -202,8 +188,6 @@ class AudioReceiveStream {
// Returns current value of base minimum delay in milliseconds.
virtual int GetBaseMinimumPlayoutDelayMs() const = 0;
- virtual std::vector<RtpSource> GetSources() const = 0;
-
protected:
virtual ~AudioReceiveStream() {}
};