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

Side by Side Diff: media/cast/transport/transport_video_sender.h

Issue 174183003: Cast:Transport: Dividing A/V Initialization pipeline (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixing errors and yet another rebase Created 6 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_ 5 #ifndef MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_
6 #define MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_ 6 #define MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/threading/non_thread_safe.h" 11 #include "base/threading/non_thread_safe.h"
12 #include "base/time/tick_clock.h" 12 #include "base/time/tick_clock.h"
13 #include "media/cast/transport/cast_transport_config.h" 13 #include "media/cast/transport/cast_transport_config.h"
14 #include "media/cast/transport/rtp_sender/rtp_sender.h" 14 #include "media/cast/transport/rtp_sender/rtp_sender.h"
15 #include "media/cast/transport/utility/transport_encryption_handler.h" 15 #include "media/cast/transport/utility/transport_encryption_handler.h"
16 16
17 namespace media { 17 namespace media {
18 class VideoFrame; 18 class VideoFrame;
19 19
20 namespace cast { 20 namespace cast {
21 namespace transport { 21 namespace transport {
22
23 class PacedSender; 22 class PacedSender;
24 23
25 // Not thread safe. Only called from the main cast transport thread. 24 // Not thread safe. Only called from the main cast transport thread.
26 // This class owns all objects related to sending coded video, objects that 25 // This class owns all objects related to sending coded video, objects that
27 // encrypt, create RTP packets and send to network. 26 // encrypt, create RTP packets and send to network.
28 class TransportVideoSender : public base::NonThreadSafe { 27 class TransportVideoSender : public base::NonThreadSafe {
29 public: 28 public:
30 TransportVideoSender( 29 TransportVideoSender(
31 const CastTransportConfig& config, 30 const CastTransportVideoConfig& config,
32 base::TickClock* clock, 31 base::TickClock* clock,
33 const scoped_refptr<base::TaskRunner>& transport_task_runner, 32 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner,
34 PacedSender* const paced_packet_sender); 33 PacedSender* const paced_packet_sender);
35 34
36 virtual ~TransportVideoSender(); 35 virtual ~TransportVideoSender();
37 36
38 // Handles the encoded video frames to be processed. 37 // Handles the encoded video frames to be processed.
39 // Frames will be encrypted, packetized and transmitted to the network. 38 // Frames will be encrypted, packetized and transmitted to the network.
40 void InsertCodedVideoFrame(const EncodedVideoFrame* coded_frame, 39 void InsertCodedVideoFrame(const EncodedVideoFrame* coded_frame,
41 const base::TimeTicks& capture_time); 40 const base::TimeTicks& capture_time);
42 41
43 // Retransmision request. 42 // Retransmision request.
(...skipping 18 matching lines...) Expand all
62 bool initialized_; 61 bool initialized_;
63 62
64 DISALLOW_IMPLICIT_CONSTRUCTORS(TransportVideoSender); 63 DISALLOW_IMPLICIT_CONSTRUCTORS(TransportVideoSender);
65 }; 64 };
66 65
67 } // namespace transport 66 } // namespace transport
68 } // namespace cast 67 } // namespace cast
69 } // namespace media 68 } // namespace media
70 69
71 #endif // MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_ 70 #endif // MEDIA_CAST_TRANSPORT_TRANSPORT_VIDEO_SENDER_H_
OLDNEW
« no previous file with comments | « media/cast/transport/transport_audio_sender.cc ('k') | media/cast/transport/transport_video_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698