webrtc/api/task_queue
Markus Handell 4a51622705 TaskQueueFactory: Add kAudio and kVideo priorities
This change introduces specific priority levels for audio and
video tasks within the TaskQueueFactory to allow for better
platform-specific thread scheduling.

Changes:

* New field trial WebRTC-MediaTaskQueuePriorities that activates the
  priority change.

* New Priority Enums: Added kVideo and kAudio to
TaskQueueFactory::Priority and corresponding kVideo and
kAudio to ThreadPriority.

* WebRTC platform thread implementation:
- Video priority initially maps to high priority.
- On Mac/iOS (GCD), both audio and video map to
  DISPATCH_QUEUE_PRIORITY_HIGH because of API limitation.

* Task queue updates:
- Updated the audio encoder queue to use kAudio priority.
- Updated the video encoder & decoder, incoming video
  stream, and video frame transformer queues to use kVideo priority.

* Queue renaming: Standardized several task queue names by
   appending "Queue" (e.g., "AudioEncoder" became "AudioEncoderQueue").

Bug: chromium:470337728
Change-Id: I4790990340a72a54945750c2c4e1f97314edf375
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/436580
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46744}
2026-01-26 06:18:27 -08:00
..
test Reformat gn files 2025-07-31 15:58:59 -07:00
BUILD.gn Disable TQ coroutine experimental tests in chromium builds 2025-11-13 16:31:50 -08:00
default_task_queue_factory_gcd.cc Comment unused variables in implemented functions 7\n 2024-10-28 12:04:15 +00:00
default_task_queue_factory_stdlib.cc Reland "Add TaskQueueStdlib experiment." 2022-08-29 10:48:42 +00:00
default_task_queue_factory_unittest.cc
default_task_queue_factory_win.cc Reland "Add TaskQueueStdlib experiment." 2022-08-29 10:48:42 +00:00
default_task_queue_factory.h Reland "Add TaskQueueStdlib experiment." 2022-08-29 10:48:42 +00:00
DEPS Move to_queued_task.h and pending_task_safety_flag.h into public API 2022-06-17 09:20:39 +00:00
pending_task_safety_flag_unittest.cc Use webrtc name specifier instead of rtc/cricket in api 2025-04-15 22:17:02 -07:00
pending_task_safety_flag.cc Use webrtc name specifier instead of rtc/cricket in api 2025-04-15 22:17:02 -07:00
pending_task_safety_flag.h Demonstrate a trampoline for step 1 of Sigslot removal 2025-08-26 02:56:45 -07:00
task_queue_base.cc Apply include-cleaner to api/task_queue 2024-08-06 13:32:04 +00:00
task_queue_base.h Apply include-cleaner to api/task_queue 2024-08-06 13:32:04 +00:00
task_queue_factory.h TaskQueueFactory: Add kAudio and kVideo priorities 2026-01-26 06:18:27 -08:00
task_queue_test.cc TaskQueueFactory: implement go/cstyle#Enumerator_Names 2026-01-26 02:38:24 -08:00
task_queue_test.h Disable TQ coroutine experimental tests in chromium builds 2025-11-13 16:31:50 -08:00