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