Tommi
4ccdf932e1
VideoRtpReceiver & AudioRtpReceiver threading fixes.
...
For implementations where the signaling and worker threads are not
the same thread, this significantly cuts down on Thread::Invoke()s that
would block the signaling thread while waiting for the worker thread.
For Audio and Video Rtp receivers, the following methods now do not
block the signaling thread:
* GetParameters
* SetJitterBufferMinimumDelay
* GetSources
* SetFrameDecryptor / GetFrameDecryptor
* SetDepacketizerToDecoderFrameTransformer
Importantly this change also makes the track() accessor accessible
directly from the application thread (bypassing the proxy) since
for receiver objects, the track object is const.
Other changes:
* Remove RefCountedObject inheritance, use make_ref_counted instead.
* Every member variable in the rtp receiver classes is now RTC_GUARDED
* Stop() now fully clears up worker thread state, and Stop() is
consistently called before destruction. This means that there's one
thread hop instead of at least 4 before (sometimes more), per receiver.
* OnChanged triggered volume for audio tracks is done asynchronously.
* Deleted most of the JitterBufferDelay implementation. Turns out that
it was largely unnecessary overhead and complexity.
It seems that these two classes are copy/pasted to a large extent
so further refactoring would be good in the future, as to not have to
fix each issue twice.
Bug: chromium:1184611
Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:37:55 +00:00
..
2021-05-12 21:16:10 +00:00
2021-04-27 17:01:59 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-04-27 17:01:59 +00:00
2021-02-10 15:04:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-04 13:52:35 +00:00
2021-04-19 15:59:20 +00:00
2021-04-16 13:10:54 +00:00
2021-04-21 10:16:43 +00:00
2021-05-07 18:01:54 +00:00
2021-05-07 18:01:54 +00:00
2021-05-07 18:01:54 +00:00
2021-04-21 07:04:01 +00:00
2021-04-21 07:04:01 +00:00
2021-05-10 10:31:48 +00:00
2021-05-10 10:31:48 +00:00
2021-05-06 09:38:49 +00:00
2021-05-10 10:31:48 +00:00
2021-04-19 19:32:23 +00:00
2021-04-19 19:32:23 +00:00
2019-01-28 11:17:00 +00:00
2020-03-21 18:53:46 +00:00
2021-02-24 06:40:09 +00:00
2021-02-24 06:40:09 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-03-10 08:40:14 +00:00
2021-04-26 11:05:19 +00:00
2021-04-27 17:01:59 +00:00
2021-03-18 10:21:00 +00:00
2019-01-11 17:11:39 +00:00
2019-01-11 17:11:39 +00:00
2020-11-27 11:08:10 +00:00
2021-01-29 16:14:10 +00:00
2019-04-02 10:13:36 +00:00
2021-04-27 17:01:59 +00:00
2021-02-10 15:04:55 +00:00
2021-02-10 15:04:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-01-05 12:55:24 +00:00
2021-01-05 12:55:24 +00:00
2021-01-05 12:55:24 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-02-10 15:04:55 +00:00
2019-01-11 17:11:39 +00:00
2021-04-27 17:01:59 +00:00
2019-01-25 20:29:58 +00:00
2021-01-29 16:14:10 +00:00
2019-05-13 18:37:47 +00:00
2021-04-27 05:53:37 +00:00
2021-05-12 10:10:05 +00:00
2021-04-19 19:32:23 +00:00
2019-01-29 02:33:50 +00:00
2019-01-25 20:29:58 +00:00
2020-05-18 17:06:25 +00:00
2021-04-27 17:01:59 +00:00
2020-09-10 13:11:44 +00:00
2020-02-25 14:45:04 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 17:01:59 +00:00
2021-04-19 19:32:23 +00:00
2021-01-20 10:51:07 +00:00
2019-07-08 13:45:15 +00:00
2021-05-10 08:47:48 +00:00
2021-05-10 08:47:48 +00:00
2021-05-12 17:06:58 +00:00
2021-01-20 10:51:07 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-04-19 16:22:23 +00:00
2021-04-15 10:20:00 +00:00
2021-05-12 10:10:05 +00:00
2021-02-10 15:04:55 +00:00
2021-01-29 16:14:10 +00:00
2021-05-10 08:47:48 +00:00
2021-04-27 17:01:59 +00:00
2021-05-11 07:54:14 +00:00
2021-04-30 18:55:47 +00:00
2021-04-27 17:01:59 +00:00
2019-10-14 12:40:53 +00:00
2021-04-30 18:55:47 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 17:01:59 +00:00
2021-05-17 14:37:55 +00:00
2021-04-08 06:39:22 +00:00
2021-04-23 08:40:35 +00:00
2021-04-27 17:01:59 +00:00
2021-04-23 08:40:35 +00:00
2021-04-27 17:01:59 +00:00
2019-04-09 17:18:20 +00:00
2021-03-23 18:44:12 +00:00
2019-01-25 20:29:58 +00:00
2019-01-11 17:11:39 +00:00
2019-01-11 17:11:39 +00:00
2019-01-11 17:11:39 +00:00
2019-07-08 13:45:15 +00:00
2020-08-11 10:46:23 +00:00
2021-01-29 16:14:10 +00:00
2020-01-09 09:28:07 +00:00
2021-01-29 16:14:10 +00:00
2020-01-09 09:28:07 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-04-27 17:01:59 +00:00
2021-01-29 16:14:10 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-04 13:52:35 +00:00
2021-05-17 14:37:55 +00:00
2021-02-10 15:04:55 +00:00
2019-05-24 23:58:46 +00:00
2020-03-20 16:55:38 +00:00
2021-05-05 16:22:33 +00:00
2021-01-29 16:14:10 +00:00
2021-05-10 10:31:48 +00:00
2021-01-29 16:14:10 +00:00
2021-05-10 10:31:48 +00:00
2021-05-10 10:31:48 +00:00
2021-05-10 10:31:48 +00:00
2021-02-17 07:42:13 +00:00
2021-04-08 20:49:44 +00:00
2021-01-11 11:31:33 +00:00
2021-05-10 10:31:48 +00:00
2021-05-10 10:31:48 +00:00
2021-05-04 13:52:35 +00:00
2021-04-27 05:53:37 +00:00
2019-07-08 13:45:15 +00:00
2021-01-29 16:14:10 +00:00
2021-01-29 16:14:10 +00:00
2020-10-26 10:22:46 +00:00
2021-01-29 16:14:10 +00:00
2021-01-29 16:14:10 +00:00
2021-04-16 13:10:54 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 05:53:37 +00:00
2021-01-29 16:14:10 +00:00
2021-01-29 16:14:10 +00:00
2019-07-08 13:45:15 +00:00
2021-04-12 07:57:03 +00:00
2021-02-10 15:04:55 +00:00
2020-07-16 13:52:28 +00:00
2021-04-12 07:57:03 +00:00
2021-03-08 08:50:09 +00:00
2019-09-17 15:47:29 +00:00
2021-01-29 16:14:10 +00:00
2019-07-08 13:45:15 +00:00
2020-10-05 12:41:23 +00:00
2021-04-27 17:01:59 +00:00
2021-05-17 14:37:55 +00:00
2021-04-19 16:22:23 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-01-29 16:14:10 +00:00
2021-01-29 16:14:10 +00:00
2021-04-20 06:44:40 +00:00
2021-04-20 06:44:40 +00:00
2019-02-05 15:12:20 +00:00
2019-10-28 11:30:23 +00:00
2020-10-09 08:29:45 +00:00
2021-01-29 16:14:10 +00:00
2019-09-24 08:56:24 +00:00
2021-05-11 07:54:14 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-05-17 14:37:55 +00:00
2021-04-27 17:01:59 +00:00
2021-01-29 16:14:10 +00:00
2021-02-16 12:41:35 +00:00
2019-07-08 13:45:15 +00:00
2021-02-10 15:04:55 +00:00
2021-04-27 17:01:59 +00:00
2021-04-27 17:01:59 +00:00
2021-02-10 15:04:55 +00:00
2021-04-27 05:53:37 +00:00
2021-04-27 05:53:37 +00:00
2021-01-29 16:14:10 +00:00
2021-04-27 17:01:59 +00:00
2021-01-29 16:14:10 +00:00