Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(378)

Side by Side Diff: media/cast/rtp_receiver/rtp_receiver.h

Issue 250363002: [Cast] Clean-up RtpCastHeader and RtpParser, removing the last WebRTC dependency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed hubbe's comment. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Interface to the rtp receiver. 5 // Interface to the rtp receiver.
6 6
7 #ifndef MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_ 7 #ifndef MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_
8 #define MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_ 8 #define MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "media/cast/cast_config.h" 11 #include "media/cast/cast_config.h"
12 #include "media/cast/rtcp/rtcp.h" 12 #include "media/cast/rtcp/rtcp.h"
13 #include "media/cast/rtp_receiver/receiver_stats.h" 13 #include "media/cast/rtp_receiver/receiver_stats.h"
14 #include "media/cast/rtp_receiver/rtp_parser/rtp_parser.h" 14 #include "media/cast/rtp_receiver/rtp_parser/rtp_parser.h"
15 #include "media/cast/rtp_receiver/rtp_receiver_defines.h" 15 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
16 16
17 namespace media { 17 namespace media {
18 namespace cast { 18 namespace cast {
19 19
20 class RtpReceiver : public RtpParser { 20 // TODO(miu): This is a good candidate to contain common functionality that's
21 // identical in both AudioReceiver and VideoReceiver.
22 class RtpReceiver {
21 public: 23 public:
22 RtpReceiver(base::TickClock* clock, 24 RtpReceiver(base::TickClock* clock,
23 const AudioReceiverConfig* audio_config, 25 const AudioReceiverConfig* audio_config,
24 const VideoReceiverConfig* video_config); 26 const VideoReceiverConfig* video_config);
25 virtual ~RtpReceiver(); 27 virtual ~RtpReceiver();
26 28
27 static uint32 GetSsrcOfSender(const uint8* rtcp_buffer, size_t length); 29 static uint32 GetSsrcOfSender(const uint8* rtcp_buffer, size_t length);
28 30
29 bool ReceivedPacket(const uint8* packet, size_t length); 31 bool ReceivedPacket(const uint8* packet, size_t length);
30 32
31 RtpReceiverStatistics* GetStatistics() { 33 RtpReceiverStatistics* GetStatistics() {
32 return &stats_; 34 return &stats_;
33 } 35 }
34 36
37 protected:
38 // Subclasses implement this to consume and process deserialized packets.
39 virtual void OnReceivedPayloadData(const uint8* payload_data,
40 size_t payload_size,
41 const RtpCastHeader& rtp_header) = 0;
42
35 private: 43 private:
44 RtpParser packet_parser_;
36 ReceiverStats stats_; 45 ReceiverStats stats_;
37 46
38 DISALLOW_COPY_AND_ASSIGN(RtpReceiver); 47 DISALLOW_COPY_AND_ASSIGN(RtpReceiver);
39 }; 48 };
40 49
41 } // namespace cast 50 } // namespace cast
42 } // namespace media 51 } // namespace media
43 52
44 #endif // MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_ 53 #endif // MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_H_
OLDNEW
« no previous file with comments | « media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc ('k') | media/cast/rtp_receiver/rtp_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698