File tree 4 files changed +19
-2
lines changed
sdk/objc/api/peerconnection
4 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -136,7 +136,7 @@ - (instancetype)init {
136
136
nativeAudioDecoderFactory:webrtc: :CreateBuiltinAudioDecoderFactory ()
137
137
nativeVideoEncoderFactory:std: :move (native_encoder_factory)
138
138
nativeVideoDecoderFactory:std: :move (native_decoder_factory)
139
- audioDeviceModule: [self audioDeviceModule: bypassVoiceProcessing]
139
+ audioDeviceModule: [self audioDeviceModule: bypassVoiceProcessing]. get ()
140
140
audioProcessingModule: nullptr ];
141
141
#endif
142
142
}
Original file line number Diff line number Diff line change @@ -65,6 +65,14 @@ class FrameBuffer2Proxy : public FrameBufferProxy {
65
65
});
66
66
}
67
67
68
+ void StartOnWorker () override {
69
+ RTC_DCHECK_RUN_ON (&worker_sequence_checker_);
70
+ decode_queue_->PostTask ([this ] {
71
+ frame_buffer_.Start ();
72
+ decode_safety_->SetAlive ();
73
+ });
74
+ }
75
+
68
76
void SetProtectionMode (VCMVideoProtection protection_mode) override {
69
77
RTC_DCHECK_RUN_ON (&worker_sequence_checker_);
70
78
frame_buffer_.SetProtectionMode (kProtectionNackFEC );
@@ -234,6 +242,14 @@ class FrameBuffer3Proxy : public FrameBufferProxy {
234
242
});
235
243
}
236
244
245
+ void StartOnWorker () override {
246
+ RTC_DCHECK_RUN_ON (&worker_sequence_checker_);
247
+ decode_queue_->PostTask ([this ] {
248
+ RTC_DCHECK_RUN_ON (decode_queue_);
249
+ decode_safety_->SetAlive ();
250
+ });
251
+ }
252
+
237
253
void SetProtectionMode (VCMVideoProtection protection_mode) override {
238
254
RTC_DCHECK_RUN_ON (&worker_sequence_checker_);
239
255
protection_mode_ = kProtectionNackFEC ;
Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ class FrameBufferProxy {
54
54
55
55
// Run on the worker thread.
56
56
virtual void StopOnWorker () = 0;
57
+ virtual void StartOnWorker () = 0;
57
58
virtual void SetProtectionMode (VCMVideoProtection protection_mode) = 0;
58
59
virtual void Clear () = 0;
59
60
virtual absl::optional<int64_t > InsertFrame (
Original file line number Diff line number Diff line change @@ -361,7 +361,7 @@ void VideoReceiveStream2::Start() {
361
361
return ;
362
362
}
363
363
364
- frame_buffer_->Start ();
364
+ frame_buffer_->StartOnWorker ();
365
365
const bool protected_by_fec = config_.rtp .protected_by_flexfec ||
366
366
rtp_video_stream_receiver_.IsUlpfecEnabled ();
367
367
You can’t perform that action at this time.
0 commit comments