Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / media / cast / video_receiver / video_receiver.h
index bb7b3a7..38c8bc1 100644 (file)
 #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;
@@ -52,8 +50,7 @@ class VideoReceiver : public base::NonThreadSafe,
   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,
@@ -78,7 +75,6 @@ class VideoReceiver : public base::NonThreadSafe,
   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);
@@ -104,6 +100,11 @@ class VideoReceiver : public base::NonThreadSafe,
 
   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_;
@@ -113,11 +114,8 @@ class VideoReceiver : public base::NonThreadSafe,
   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_;