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 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 bool DeliverRtcp(const uint8_t* packet, size_t length); | 69 bool DeliverRtcp(const uint8_t* packet, size_t length); |
70 | 70 |
71 // webrtc::VideoSendStream implementation. | 71 // webrtc::VideoSendStream implementation. |
72 void Start() override; | 72 void Start() override; |
73 void Stop() override; | 73 void Stop() override; |
74 VideoCaptureInput* Input() override; | 74 VideoCaptureInput* Input() override; |
75 void ReconfigureVideoEncoder(VideoEncoderConfig) override; | 75 void ReconfigureVideoEncoder(VideoEncoderConfig) override; |
76 Stats GetStats() override; | 76 Stats GetStats() override; |
77 | 77 |
78 typedef std::map<uint32_t, RtpState> RtpStateMap; | 78 typedef std::map<uint32_t, RtpState> RtpStateMap; |
| 79 |
| 80 // Takes ownership of each file, is responsible for closing them later. |
| 81 // Calling this method will close and finalize any current logs. |
| 82 // Giving rtc::kInvalidPlatformFileValue in any position disables logging |
| 83 // for the corresponding stream. |
| 84 // If a frame to be written would make the log too large the write fails and |
| 85 // the log is closed and finalized. A |byte_limit| of 0 means no limit. |
| 86 void EnableEncodedFrameRecording(const std::vector<rtc::PlatformFile>& files, |
| 87 size_t byte_limit) override; |
| 88 |
79 RtpStateMap StopPermanentlyAndGetRtpStates(); | 89 RtpStateMap StopPermanentlyAndGetRtpStates(); |
80 | 90 |
81 private: | 91 private: |
82 class ConstructionTask; | 92 class ConstructionTask; |
83 class DestructAndGetRtpStateTask; | 93 class DestructAndGetRtpStateTask; |
84 | 94 |
85 rtc::ThreadChecker thread_checker_; | 95 rtc::ThreadChecker thread_checker_; |
86 rtc::TaskQueue* const worker_queue_; | 96 rtc::TaskQueue* const worker_queue_; |
87 rtc::Event thread_sync_event_; | 97 rtc::Event thread_sync_event_; |
88 | 98 |
89 SendStatisticsProxy stats_proxy_; | 99 SendStatisticsProxy stats_proxy_; |
90 const VideoSendStream::Config config_; | 100 const VideoSendStream::Config config_; |
91 std::unique_ptr<VideoSendStreamImpl> send_stream_; | 101 std::unique_ptr<VideoSendStreamImpl> send_stream_; |
92 std::unique_ptr<ViEEncoder> vie_encoder_; | 102 std::unique_ptr<ViEEncoder> vie_encoder_; |
93 }; | 103 }; |
94 | 104 |
95 } // namespace internal | 105 } // namespace internal |
96 } // namespace webrtc | 106 } // namespace webrtc |
97 | 107 |
98 #endif // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 108 #endif // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ |
OLD | NEW |