Joe Downing
bd616ecd64
Allow concurrent desktop_capture instances on X11
...
I would like to run a separate capturer for each desktop on Linux and
I ran into the DCHECK in XErrorTrap when I was prototyping that
solution. I addressed it by using a Mutex and then experienced and
occasional hang when capturing which I traced down to
SharedXDisplay::ProcessPendingXEvents(), this is a shared display
instance used by each unique capturer instance so I added a mutex
there as well.
I ran 2 capturer instances concurrently for well over an hour and did
not experience any hangs or capture artifacts.
Bug: webrtc:2022
Change-Id: Ia6778cae4bbae48886fe45f2991f02e0ea08fef6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271920
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Joe Downing <joedow@google.com>
Cr-Commit-Position: refs/heads/main@{#37892}
2022-08-24 18:17:30 +00:00
..
2022-08-24 18:17:30 +00:00
2022-08-18 09:14:30 +00:00
2022-08-19 18:43:07 +00:00
2022-07-13 18:03:07 +00:00
2022-03-16 22:06:04 +00:00
2022-08-18 09:14:30 +00:00
2021-10-01 18:23:59 +00:00
2022-01-24 11:50:20 +00:00
2021-08-09 13:12:52 +00:00
2021-11-15 21:44:59 +00:00
2021-10-01 18:23:59 +00:00
2021-08-09 13:12:52 +00:00
2021-09-03 11:28:26 +00:00
2022-06-20 09:51:13 +00:00
2022-06-20 09:51:13 +00:00
2022-03-31 15:30:07 +00:00
2022-03-31 15:30:07 +00:00
2021-04-13 23:30:52 +00:00
2021-04-13 23:30:52 +00:00
2022-06-15 09:47:38 +00:00
2022-05-23 21:51:16 +00:00
2022-04-08 18:16:38 +00:00
2021-08-09 13:12:52 +00:00
2022-03-31 15:30:07 +00:00
2022-03-31 15:30:07 +00:00
2022-04-08 18:16:38 +00:00
2022-05-31 09:59:34 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2021-11-15 21:44:59 +00:00
2021-08-09 13:12:52 +00:00
2019-09-17 15:47:29 +00:00
2021-09-22 23:49:50 +00:00
2022-01-27 12:55:44 +00:00
2022-06-08 23:55:22 +00:00
2022-01-24 11:50:20 +00:00
2019-08-21 07:55:07 +00:00
2021-08-09 13:12:52 +00:00
2021-08-10 10:40:03 +00:00
2021-08-09 13:12:52 +00:00
2022-05-11 18:12:54 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2019-12-03 19:17:24 +00:00
2022-01-24 11:50:20 +00:00
2019-12-03 19:17:24 +00:00
2022-01-24 11:50:20 +00:00
2022-01-24 11:50:20 +00:00
2022-02-15 23:03:41 +00:00
2021-12-09 12:56:11 +00:00
2021-07-22 14:00:26 +00:00
2021-07-22 14:00:26 +00:00
2021-08-09 13:12:52 +00:00
2021-07-09 07:49:43 +00:00
2022-01-24 11:50:20 +00:00
2021-11-09 23:02:32 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2022-08-17 18:44:29 +00:00
2022-06-10 09:23:14 +00:00
2022-06-10 09:23:14 +00:00
2021-08-09 13:12:52 +00:00
2022-01-24 11:50:20 +00:00
2022-01-27 12:55:44 +00:00
2022-01-21 19:14:37 +00:00
2022-01-24 11:50:20 +00:00
2021-08-09 13:12:52 +00:00
2021-12-14 03:20:34 +00:00
2022-08-18 09:14:30 +00:00
2022-08-18 09:14:30 +00:00
2019-09-17 15:47:29 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2021-08-09 13:12:52 +00:00
2022-01-18 08:22:15 +00:00
2022-01-24 11:50:20 +00:00
2022-01-24 11:50:20 +00:00
2019-12-16 09:57:59 +00:00
2021-08-09 13:12:52 +00:00
2022-01-21 19:14:37 +00:00
2022-01-24 11:50:20 +00:00
2022-01-27 12:55:44 +00:00
2021-07-08 08:11:50 +00:00
2022-04-15 23:41:16 +00:00
2019-12-03 19:17:24 +00:00
2021-12-14 03:20:34 +00:00
2019-09-17 15:47:29 +00:00
2021-08-09 13:12:52 +00:00