#include "media/cast/cast_config.h"
#include "media/cast/cast_environment.h"
#include "media/cast/cast_receiver.h"
+#include "media/cast/rtcp/receiver_rtcp_event_subscriber.h"
#include "media/cast/rtcp/rtcp.h"
#include "media/cast/rtp_receiver/rtp_receiver.h"
#include "media/cast/rtp_receiver/rtp_receiver_defines.h"
-
-namespace crypto {
-class Encryptor;
-class SymmetricKey;
-}
+#include "media/cast/transport/utility/transport_encryption_handler.h"
namespace media {
namespace cast {
+
class Framer;
class LocalRtpVideoData;
class LocalRtpVideoFeedback;
void GetEncodedVideoFrame(const VideoFrameEncodedCallback& callback);
// Insert a RTP packet to the video receiver.
- void IncomingPacket(const uint8* packet, size_t length,
- const base::Closure callback);
+ void IncomingPacket(scoped_ptr<Packet> packet);
protected:
void IncomingParsedRtpPacket(const uint8* payload_data,
bool DecryptVideoFrame(scoped_ptr<transport::EncodedVideoFrame>* video_frame);
bool PullEncodedVideoFrame(
- uint32 rtp_timestamp,
bool next_frame,
scoped_ptr<transport::EncodedVideoFrame>* encoded_frame,
base::TimeTicks* render_time);
scoped_ptr<VideoDecoder> video_decoder_;
scoped_refptr<CastEnvironment> cast_environment_;
+
+ // Subscribes to raw events.
+ // Processes raw audio events to be sent over to the cast sender via RTCP.
+ ReceiverRtcpEventSubscriber event_subscriber_;
+
scoped_ptr<Framer> framer_;
const transport::VideoCodec codec_;
base::TimeDelta target_delay_delta_;
RtpReceiver rtp_receiver_;
scoped_ptr<Rtcp> rtcp_;
scoped_ptr<RtpReceiverStatistics> rtp_video_receiver_statistics_;
- base::TimeTicks time_last_sent_cast_message_;
base::TimeDelta time_offset_; // Sender-receiver offset estimation.
- scoped_ptr<crypto::Encryptor> decryptor_;
- scoped_ptr<crypto::SymmetricKey> decryption_key_;
- std::string iv_mask_;
+ transport::TransportEncryptionHandler decryptor_;
std::list<VideoFrameEncodedCallback> queued_encoded_callbacks_;
bool time_incoming_packet_updated_;
base::TimeTicks time_incoming_packet_;