Index: media/cast/net/cast_transport.h |
diff --git a/media/cast/net/cast_transport.h b/media/cast/net/cast_transport.h |
index 953d61cdd4529575ea9260ab7e2b2dd221b91fd9..58d90bf403954b97fa157d3fb303bb6b969921e4 100644 |
--- a/media/cast/net/cast_transport.h |
+++ b/media/cast/net/cast_transport.h |
@@ -21,7 +21,6 @@ |
#include <stdint.h> |
#include "base/callback.h" |
-#include "base/memory/scoped_ptr.h" |
#include "base/single_thread_task_runner.h" |
#include "base/threading/non_thread_safe.h" |
#include "base/time/tick_clock.h" |
@@ -52,10 +51,20 @@ struct RtcpTimeData; |
typedef base::Callback<void(CastTransportStatus status)> |
CastTransportStatusCallback; |
-typedef base::Callback<void(scoped_ptr<std::vector<FrameEvent>>, |
- scoped_ptr<std::vector<PacketEvent>>)> |
+typedef base::Callback<void(std::unique_ptr<std::vector<FrameEvent>>, |
miu
2016/04/15 23:14:39
nit: ditto on "using" instead of "typedef" syntax
xjz
2016/04/20 01:09:02
Done.
|
+ std::unique_ptr<std::vector<PacketEvent>>)> |
BulkRawEventsCallback; |
+// Interface to handle received RTCP messages on RTP sender. |
+class RtpSenderRtcpClient { |
+ public: |
+ virtual ~RtpSenderRtcpClient() {} |
+ |
+ virtual void OnCastMessageReceived(const RtcpCastMessage& cast_message) = 0; |
+ virtual void OnRttReceived(base::TimeDelta round_trip_time) = 0; |
+ virtual void OnPliReceived() = 0; |
+}; |
+ |
// The application should only trigger this class from the transport thread. |
class CastTransport : public base::NonThreadSafe { |
public: |
@@ -72,18 +81,18 @@ class CastTransport : public base::NonThreadSafe { |
// the configured logging flush interval passed to |
// CastTransport::Create(). |
virtual void OnLoggingEventsReceived( |
- scoped_ptr<std::vector<FrameEvent>> frame_events, |
- scoped_ptr<std::vector<PacketEvent>> packet_events) = 0; |
+ std::unique_ptr<std::vector<FrameEvent>> frame_events, |
+ std::unique_ptr<std::vector<PacketEvent>> packet_events) = 0; |
// Called to pass RTP packets to the Client. |
- virtual void ProcessRtpPacket(scoped_ptr<Packet> packet) = 0; |
+ virtual void ProcessRtpPacket(std::unique_ptr<Packet> packet) = 0; |
}; |
- static scoped_ptr<CastTransport> Create( |
+ static std::unique_ptr<CastTransport> Create( |
base::TickClock* clock, // Owned by the caller. |
base::TimeDelta logging_flush_interval, |
- scoped_ptr<Client> client, |
- scoped_ptr<PacketTransport> transport, |
+ std::unique_ptr<Client> client, |
+ std::unique_ptr<PacketTransport> transport, |
const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner); |
virtual ~CastTransport() {} |
@@ -91,14 +100,12 @@ class CastTransport : public base::NonThreadSafe { |
// Audio/Video initialization. |
// Encoded frames cannot be transmitted until the relevant initialize method |
// is called. |
- virtual void InitializeAudio(const CastTransportRtpConfig& config, |
- const RtcpCastMessageCallback& cast_message_cb, |
- const RtcpRttCallback& rtt_cb, |
- const RtcpPliCallback& pli_cb) = 0; |
- virtual void InitializeVideo(const CastTransportRtpConfig& config, |
- const RtcpCastMessageCallback& cast_message_cb, |
- const RtcpRttCallback& rtt_cb, |
- const RtcpPliCallback& pli_cb) = 0; |
+ virtual void InitializeAudio( |
+ const CastTransportRtpConfig& config, |
+ std::unique_ptr<RtpSenderRtcpClient> rtcp_client) {} |
+ virtual void InitializeVideo( |
+ const CastTransportRtpConfig& config, |
+ std::unique_ptr<RtpSenderRtcpClient> rtcp_client) {} |
// Encrypt, packetize and transmit |frame|. |ssrc| must refer to a |
// a channel already established with InitializeAudio / InitializeVideo. |