Split out RtpSource from libjingle_peerconnection_api
And moved declaration into a new api directory, as
api/transport/rtp/rtp_source.h.
Bug: webrtc:8733
Change-Id: Ia73b7b0630e6065de4707a37633adddfa00a2b8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150880
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29039}
diff --git a/api/rtp_receiver_interface.h b/api/rtp_receiver_interface.h
index a6ee546..ffd7497 100644
--- a/api/rtp_receiver_interface.h
+++ b/api/rtp_receiver_interface.h
@@ -24,63 +24,12 @@
#include "api/proxy.h"
#include "api/rtp_parameters.h"
#include "api/scoped_refptr.h"
+#include "api/transport/rtp/rtp_source.h"
#include "rtc_base/deprecation.h"
#include "rtc_base/ref_count.h"
namespace webrtc {
-enum class RtpSourceType {
- SSRC,
- CSRC,
-};
-
-class RtpSource {
- public:
- RtpSource() = delete;
-
- RtpSource(int64_t timestamp_ms,
- uint32_t source_id,
- RtpSourceType source_type,
- absl::optional<uint8_t> audio_level,
- uint32_t rtp_timestamp);
-
- RtpSource(const RtpSource&);
- RtpSource& operator=(const RtpSource&);
- ~RtpSource();
-
- int64_t timestamp_ms() const { return timestamp_ms_; }
- void update_timestamp_ms(int64_t timestamp_ms) {
- RTC_DCHECK_LE(timestamp_ms_, timestamp_ms);
- timestamp_ms_ = timestamp_ms;
- }
-
- // The identifier of the source can be the CSRC or the SSRC.
- uint32_t source_id() const { return source_id_; }
-
- // The source can be either a contributing source or a synchronization source.
- RtpSourceType source_type() const { return source_type_; }
-
- absl::optional<uint8_t> audio_level() const { return audio_level_; }
- void set_audio_level(const absl::optional<uint8_t>& level) {
- audio_level_ = level;
- }
-
- uint32_t rtp_timestamp() const { return rtp_timestamp_; }
-
- bool operator==(const RtpSource& o) const {
- return timestamp_ms_ == o.timestamp_ms() && source_id_ == o.source_id() &&
- source_type_ == o.source_type() && audio_level_ == o.audio_level_ &&
- rtp_timestamp_ == o.rtp_timestamp();
- }
-
- private:
- int64_t timestamp_ms_;
- uint32_t source_id_;
- RtpSourceType source_type_;
- absl::optional<uint8_t> audio_level_;
- uint32_t rtp_timestamp_;
-};
-
class RtpReceiverObserverInterface {
public:
// Note: Currently if there are multiple RtpReceivers of the same media type,