scrcpy/app/src
Romain Vimont 70a9bbbc06 Introduce non-droppable control messages
Control messages are queued from the main thread and sent to the device
from a separate thread.

When the queue is full, messages are just dropped. This avoids to
accumulate too much delay between the client and the device in case of
network issue.

However, some messages should not be dropped: for example, dropping a
UHID_CREATE message would make invalid all further UHID_INPUT messages.
Therefore, mark these messages as non-droppable.

A non-droppable event is queued anyway (resizing the queue if
necessary, unless the allocation fails).
2024-09-07 22:45:05 +02:00
..
adb Fix memory leak on error 2024-02-01 09:19:47 +01:00
android Fix typos 2024-08-05 16:13:02 +02:00
hid Extract mouse HID handling 2024-03-01 00:51:39 +01:00
sys Fix thread leak on Windows 2024-06-09 18:27:30 +02:00
trait Add shortcut to open keyboard settings 2024-03-01 00:52:10 +01:00
uhid Remove atomics from keyboard_uhid 2024-09-07 22:45:05 +02:00
usb Extract sc_push_event() 2024-09-07 22:03:27 +02:00
util Expose main thread id 2024-09-07 22:05:18 +02:00
audio_player.c Release the audio lock early 2024-06-09 19:25:32 +02:00
audio_player.h Replace locks by atomics in audio player 2024-02-17 16:01:33 +01:00
cli.c Fix typos 2024-08-05 16:13:02 +02:00
cli.h Simplify shortcut modifiers 2024-06-23 19:15:45 +02:00
clock.c Simplify clock estimation 2023-03-30 20:58:33 +02:00
clock.h Simplify clock estimation 2023-03-30 20:58:33 +02:00
common.h Fix MIN/MAX macros 2023-03-03 01:18:10 +01:00
compat.c Add compat for reallocarray() 2023-03-10 22:22:15 +01:00
compat.h Add --record-orientation 2023-11-23 23:34:46 +01:00
control_msg.c Introduce non-droppable control messages 2024-09-07 22:45:05 +02:00
control_msg.h Introduce non-droppable control messages 2024-09-07 22:45:05 +02:00
controller.c Introduce non-droppable control messages 2024-09-07 22:45:05 +02:00
controller.h Do not report error on device disconnected 2024-07-06 00:04:07 +02:00
coords.h Use sc_ prefix for size, position and point 2021-10-30 15:20:39 +02:00
decoder.c Pass AVCodecContext to packet sinks 2023-03-11 15:57:25 +01:00
decoder.h Pass AVCodecContext to packet sinks 2023-03-11 15:57:25 +01:00
delay_buffer.c Simplify clock estimation 2023-03-30 20:58:33 +02:00
delay_buffer.h Optionally do not delay the first frame 2023-03-10 22:22:15 +01:00
demuxer.c Do not call avcodec_close() 2024-06-29 13:10:45 +02:00
demuxer.h Use packet source trait in demuxer 2023-03-10 22:22:15 +01:00
device_msg.c Handle UHID output 2024-03-01 00:52:00 +01:00
device_msg.h Handle UHID output 2024-03-01 00:52:00 +01:00
display.c Always initialize display->gl_context on macOS 2024-07-06 00:11:48 +02:00
display.h Add scrcpy window without video playback 2024-05-11 17:06:16 +02:00
events.c Add mechanism to execute code on the main thread 2024-09-07 22:44:51 +02:00
events.h Add mechanism to execute code on the main thread 2024-09-07 22:44:51 +02:00
file_pusher.c Stop and join sc_file_pusher only if initialized 2023-03-10 22:45:48 +01:00
file_pusher.h Use VecDeque in file_pusher 2023-03-10 22:22:15 +01:00
fps_counter.c Initialize interrupted field explicitly 2023-03-10 22:33:52 +01:00
fps_counter.h Add missing SC_ prefix to header guards 2022-04-12 23:59:01 +02:00
frame_buffer.c Fix code style 2022-01-27 19:02:07 +01:00
frame_buffer.h Extract current video_buffer to frame_buffer 2021-07-14 14:22:32 +02:00
icon.c Do not call avcodec_close() 2024-06-29 13:10:45 +02:00
icon.h Add missing SC_ prefix to header guards 2022-04-12 23:59:01 +02:00
input_events.h Track mouse buttons state manually 2024-07-11 12:04:09 +02:00
input_manager.c Add mouse secondary bindings 2024-07-11 12:04:09 +02:00
input_manager.h Track mouse buttons state manually 2024-07-11 12:04:09 +02:00
keyboard_sdk.c Add shortcut to open keyboard settings 2024-03-01 00:52:10 +01:00
keyboard_sdk.h Rename default keyboard implementation to "sdk" 2024-03-01 00:51:41 +01:00
main.c Expose main thread id 2024-09-07 22:05:18 +02:00
mouse_sdk.c Forward mouse hover events 2024-06-29 12:42:19 +02:00
mouse_sdk.h Forward mouse hover events 2024-06-29 12:42:19 +02:00
opengl.c Fix OpenGL ES prefix skip 2022-03-30 12:01:01 +02:00
opengl.h Define feature test macros in common.h 2021-01-17 14:08:48 +01:00
options.c Add --audio-dup 2024-07-19 17:48:39 +02:00
options.h Add --audio-dup 2024-07-19 17:48:39 +02:00
packet_merger.c Extract packet merging 2023-02-11 09:44:33 +01:00
packet_merger.h Extract packet merging 2023-02-11 09:44:33 +01:00
receiver.c Process UHID outputs events from the main thread 2024-09-07 22:45:05 +02:00
receiver.h Do not report error on device disconnected 2024-07-06 00:04:07 +02:00
recorder.c Add --record-orientation 2023-11-23 23:34:46 +01:00
recorder.h Add --record-orientation 2023-11-23 23:34:46 +01:00
scrcpy.c Add mechanism to execute code on the main thread 2024-09-07 22:44:51 +02:00
scrcpy.h Add specific exit code for device disconnection 2022-03-06 22:19:46 +01:00
screen.c Extract sc_push_event() 2024-09-07 22:03:27 +02:00
screen.h Add option to configure mouse bindings 2024-06-24 23:17:23 +02:00
server.c Fix --no-audio 2024-07-29 20:03:44 +02:00
server.h Add --audio-dup 2024-07-19 17:48:39 +02:00
v4l2_sink.c Do not call avcodec_close() 2024-06-29 13:10:45 +02:00
v4l2_sink.h Pass video size as codec metadata 2023-03-11 15:57:25 +01:00
version.c Print libusb version on --version 2022-02-09 10:15:19 +01:00
version.h Move version handling to a separate file 2022-02-09 10:15:07 +01:00