| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 
| 3  * | 3  * | 
| 4  *  Use of this source code is governed by a BSD-style license | 4  *  Use of this source code is governed by a BSD-style license | 
| 5  *  that can be found in the LICENSE file in the root of the source | 5  *  that can be found in the LICENSE file in the root of the source | 
| 6  *  tree. An additional intellectual property rights grant can be found | 6  *  tree. An additional intellectual property rights grant can be found | 
| 7  *  in the file PATENTS.  All contributing project authors may | 7  *  in the file PATENTS.  All contributing project authors may | 
| 8  *  be found in the AUTHORS file in the root of the source tree. | 8  *  be found in the AUTHORS file in the root of the source tree. | 
| 9  */ | 9  */ | 
| 10 | 10 | 
| 11 #ifndef WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 11 #ifndef WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 
| 12 #define WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 12 #define WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 
| 13 | 13 | 
| 14 #include <map> | 14 #include <map> | 
| 15 #include <memory> | 15 #include <memory> | 
| 16 #include <vector> | 16 #include <vector> | 
| 17 | 17 | 
| 18 #include "webrtc/call/bitrate_allocator.h" | 18 #include "webrtc/call/bitrate_allocator.h" | 
| 19 #include "webrtc/base/criticalsection.h" | 19 #include "webrtc/base/criticalsection.h" | 
| 20 #include "webrtc/base/event.h" | 20 #include "webrtc/base/event.h" | 
| 21 #include "webrtc/base/task_queue.h" | 21 #include "webrtc/base/task_queue.h" | 
| 22 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" | 22 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" | 
| 23 #include "webrtc/modules/video_coding/protection_bitrate_calculator.h" | 23 #include "webrtc/modules/video_coding/protection_bitrate_calculator.h" | 
| 24 #include "webrtc/video/encoder_rtcp_feedback.h" | 24 #include "webrtc/video/encoder_rtcp_feedback.h" | 
| 25 #include "webrtc/video/payload_router.h" |  | 
| 26 #include "webrtc/video/send_delay_stats.h" | 25 #include "webrtc/video/send_delay_stats.h" | 
| 27 #include "webrtc/video/send_statistics_proxy.h" | 26 #include "webrtc/video/send_statistics_proxy.h" | 
| 28 #include "webrtc/video/vie_encoder.h" | 27 #include "webrtc/video/vie_encoder.h" | 
| 29 #include "webrtc/video_receive_stream.h" | 28 #include "webrtc/video_receive_stream.h" | 
| 30 #include "webrtc/video_send_stream.h" | 29 #include "webrtc/video_send_stream.h" | 
| 31 | 30 | 
| 32 namespace webrtc { | 31 namespace webrtc { | 
| 33 | 32 | 
| 34 class BitrateAllocator; |  | 
| 35 class CallStats; | 33 class CallStats; | 
| 36 class SendSideCongestionController; | 34 class SendSideCongestionController; | 
| 37 class IvfFileWriter; | 35 class IvfFileWriter; | 
| 38 class PacketRouter; |  | 
| 39 class ProcessThread; | 36 class ProcessThread; | 
| 40 class RtpRtcp; | 37 class RtpRtcp; | 
|  | 38 class RtpTransportControllerSendInterface; | 
|  | 39 class RtcEventLog; | 
| 41 class VieRemb; | 40 class VieRemb; | 
| 42 class RtcEventLog; |  | 
| 43 | 41 | 
| 44 namespace internal { | 42 namespace internal { | 
| 45 | 43 | 
| 46 class VideoSendStreamImpl; | 44 class VideoSendStreamImpl; | 
| 47 | 45 | 
| 48 // VideoSendStream implements webrtc::VideoSendStream. | 46 // VideoSendStream implements webrtc::VideoSendStream. | 
| 49 // Internally, it delegates all public methods to VideoSendStreamImpl and / or | 47 // Internally, it delegates all public methods to VideoSendStreamImpl and / or | 
| 50 // VieEncoder. VideoSendStreamInternal is created and deleted on |worker_queue|. | 48 // VieEncoder. VideoSendStreamInternal is created and deleted on |worker_queue|. | 
| 51 class VideoSendStream : public webrtc::VideoSendStream { | 49 class VideoSendStream : public webrtc::VideoSendStream { | 
| 52  public: | 50  public: | 
| 53   VideoSendStream(int num_cpu_cores, | 51   VideoSendStream(int num_cpu_cores, | 
| 54                   ProcessThread* module_process_thread, | 52                   ProcessThread* module_process_thread, | 
| 55                   rtc::TaskQueue* worker_queue, | 53                   rtc::TaskQueue* worker_queue, | 
| 56                   CallStats* call_stats, | 54                   CallStats* call_stats, | 
| 57                   SendSideCongestionController* congestion_controller, | 55                   RtpTransportControllerSendInterface* transport, | 
| 58                   PacketRouter* packet_router, |  | 
| 59                   BitrateAllocator* bitrate_allocator, | 56                   BitrateAllocator* bitrate_allocator, | 
| 60                   SendDelayStats* send_delay_stats, | 57                   SendDelayStats* send_delay_stats, | 
| 61                   VieRemb* remb, | 58                   VieRemb* remb, | 
| 62                   RtcEventLog* event_log, | 59                   RtcEventLog* event_log, | 
| 63                   VideoSendStream::Config config, | 60                   VideoSendStream::Config config, | 
| 64                   VideoEncoderConfig encoder_config, | 61                   VideoEncoderConfig encoder_config, | 
| 65                   const std::map<uint32_t, RtpState>& suspended_ssrcs); | 62                   const std::map<uint32_t, RtpState>& suspended_ssrcs); | 
| 66 | 63 | 
| 67   ~VideoSendStream() override; | 64   ~VideoSendStream() override; | 
| 68 | 65 | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 106   const VideoSendStream::Config config_; | 103   const VideoSendStream::Config config_; | 
| 107   const VideoEncoderConfig::ContentType content_type_; | 104   const VideoEncoderConfig::ContentType content_type_; | 
| 108   std::unique_ptr<VideoSendStreamImpl> send_stream_; | 105   std::unique_ptr<VideoSendStreamImpl> send_stream_; | 
| 109   std::unique_ptr<ViEEncoder> vie_encoder_; | 106   std::unique_ptr<ViEEncoder> vie_encoder_; | 
| 110 }; | 107 }; | 
| 111 | 108 | 
| 112 }  // namespace internal | 109 }  // namespace internal | 
| 113 }  // namespace webrtc | 110 }  // namespace webrtc | 
| 114 | 111 | 
| 115 #endif  // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 112 #endif  // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 
| OLD | NEW | 
|---|