85a9871082
virtual display
2023-09-08 17:51:14 +08:00
RiggiG
7b1ac46ab0
change: execute server as root and create secure display
...
change: AID_GRAPHICS -> AID_SYSTEM
add: fllag --root to launch server as root
cleanup: phantom whitespace
change: eliminate ambiguous description
add: autocompletion for --root
change: use getPackageName method rather than fixed constant for `--root` case
change: at least try audio when running as AID_SYSTEM on older versions
fixups: PACKAGE_SHELL constant where necessary, DRY
cleanup: usage of PACKAGE_NAME + PACKAGE_SHELL
2023-09-08 12:18:10 +08:00
Aritz T
1ee46970e3
Fix TCP/IP link in README
...
Refs 328ed3650d
PR #4173 <https://github.com/Genymobile/scrcpy/pull/4173 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-07-26 19:58:13 +02:00
Romain Vimont
fcdf847dd3
Add missing syntax highlighting in audio doc
2023-07-14 23:37:19 +02:00
Romain Vimont
ad05a01800
Add Encoder section
...
This will allow to reference the encoder section directly in issues.
2023-07-14 23:36:21 +02:00
Romain Vimont
328ed3650d
Extract device connection to a separate doc page
...
Create a new "Connection" documentation page.
2023-07-14 23:31:26 +02:00
Romain Vimont
c14668b177
Move display section to video documentation
2023-07-14 23:26:52 +02:00
Romain Vimont
637f48f360
Update links to v2.1.1
2023-07-14 23:09:44 +02:00
Romain Vimont
d391fc3b69
Bump version to 2.1.1
2023-07-14 18:58:58 +02:00
Romain Vimont
75ad925423
Merge branch 'master' into release
2023-07-14 18:58:34 +02:00
Romain Vimont
7e936fa879
Fix meizu deadlock
...
Some devices (Meizu) assume that the video encoding thread has a
Looper. By moving video encoding to a separate thread, commit
feab87053a
broke this assumption.
Call Looper.prepare() from this thread to fix the problem.
Fixes #4143 <https://github.com/Genymobile/scrcpy/issues/4143 >
2023-07-13 21:46:50 +02:00
Romain Vimont
01d785d9a3
Increase attempts to start AudioRecord
...
Making the shell app foreground (specific for Android 11) may take more
than 300ms on some devices, so increase the number of attempts from 3 to
5 (separated by 100ms).
Fixes #4147 <https://github.com/Genymobile/scrcpy/issues/4147 >
Refs #3796 <https://github.com/Genymobile/scrcpy/issues/3796 >
Refs 02f4ff7534
2023-07-07 18:21:17 +02:00
Romain Vimont
fe6e9acb36
Log device selection at INFO level
...
The selected device should be logged by default.
2023-07-04 18:22:33 +02:00
Cédric Skwar
625934fb1b
Fix fedora package in build instructions
...
In Fedora, the package is libusb1-devel.
Fixes #4131 <https://github.com/Genymobile/scrcpy/issues/4131 >
PR #4132 <https://github.com/Genymobile/scrcpy/pull/4132 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-06-30 21:21:13 +02:00
Romain Vimont
85b55b3c4e
Fix possible division by zero
...
On sway (a window manager), SDL_WINDOWEVENT_EXPOSED and
SDL_WINDOWEVENT_SIZE_CHANGED might not be called before a mouse event is
triggered. As a consequence, the "content rectangle" might not be
initialized when the mouse event is processed, causing a division by
zero.
To avoid the problem, initialize the content rect immediately when the
window is shown.
Fixes #4115 <https://github.com/Genymobile/scrcpy/issues/4115 >
2023-06-29 19:18:32 +02:00
Romain Vimont
7b7076ef85
Add direct links to donations
2023-06-28 10:58:00 +02:00
Romain Vimont
808bd14e30
Ignore fold change events for other display ids
...
Scrcpy mirrors a specific display id, it must ignore events for other
display ids.
Fixes #4120 <https://github.com/Genymobile/scrcpy/issues/4120 >
2023-06-27 18:43:22 +02:00
Romain Vimont
0049b3ce07
Remove superfluous log
...
This line was committed by error in commit
a52053421a
.
2023-06-23 08:23:29 +02:00
Romain Vimont
5764f47fee
Update links to v2.1
2023-06-22 01:18:17 +02:00
Romain Vimont
2dab1f7024
Bump version to 2.1
2023-06-22 01:15:44 +02:00
Romain Vimont
744312ec64
Merge branch 'master' into release
2023-06-22 01:15:39 +02:00
Romain Vimont
b9315620e2
Fix adb forward initialization
...
In forward mode, the dummy byte must be written immediately after the
first accept(), otherwise the client will wait indefinitely, causing a
deadlock (or a timeout).
Regression introduced by 8c650e53cd
.
2023-06-22 01:13:53 +02:00
Romain Vimont
ea59d525bd
Fix code style
...
The code should fit in 80 columns.
2023-06-22 01:07:09 +02:00
Romain Vimont
0ffcfa0f5c
Accept failure in rotation or fold registration
...
Do not make scrcpy fail if rotation or display fold listeners could not
be registered.
2023-06-22 00:52:54 +02:00
Romain Vimont
c0f3c080b6
Register DisplayFoldListener only for Android 10+
...
This listener does not exist on Android < 10, and it makes scrcpy fail.
2023-06-22 00:49:11 +02:00
Romain Vimont
d046678f85
Upgrade platform-tools (34.0.3) for Windows
...
Include the latest version of adb in Windows releases.
2023-06-22 00:10:37 +02:00
Romain Vimont
fae3fbc934
Update developer documentation
2023-06-22 00:03:26 +02:00
Romain Vimont
5061b7e02c
Fix build without gradle
...
Add missing class generation from IDisplayFoldListener.aidl.
Refs 24999d0d32
2023-06-22 00:03:26 +02:00
Romain Vimont
09009c2aa7
Upgrade SDL (2.28.0) for Windows
...
Include the latest version of SDL in Windows releases.
Fixes #3825 <https://github.com/Genymobile/scrcpy/issues/3825 >
Refs libsdl/#7478 <https://github.com/libsdl-org/SDL/issues/7478 >
2023-06-20 21:45:14 +02:00
Romain Vimont
fb21bbf763
Add workarounds for Honor devices
...
Audio did not work on Honor devices.
To make it work, a system context must be set as a base context of
FakeContext (so that a PackageManager is available), and a current
Application and ActivityThread must be set.
These workarounds must not be applied for all devices, because they
might cause other issues.
Fixes #4015 <https://github.com/Genymobile/scrcpy/issues/4015 >
Refs #3085 <https://github.com/Genymobile/scrcpy/issues/3805 >
Co-authored-by: Simon Chan <1330321+yume-chan@users.noreply.github.com>
2023-06-19 18:45:40 +02:00
Romain Vimont
0f1afff7a6
Move workarounds execution
...
Expose a single public static method in the Workarounds class to apply
all necessary workarounds.
2023-06-19 18:45:11 +02:00
Romain Vimont
48a00fb481
Log device BRAND
...
The BRAND value is not always the same as the MANUFACTURER value.
2023-06-17 00:25:01 +02:00
Romain Vimont
3b7e2ca9c8
Fix lint warning
...
Suppress lint "DiscouragedPrivateApi" in Workarounds.java.
2023-06-16 23:24:08 +02:00
wuderek
5bd7514871
Add InputManagerGlobal for Android 14 beta 3
...
Parts of the InputManager class have been moved to a new
InputManagerGlobal class in Android 14 preview.
Fixes #4074 <https://github.com/Genymobile/scrcpy/issues/4074 >
PR #4075 <https://github.com/Genymobile/scrcpy/pull/4075 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-06-13 15:19:24 +02:00
Romain Vimont
d3c2955fb9
Add --time-limit
...
Add an option to stop scrcpy automatically after a given delay.
PR #4052 <https://github.com/Genymobile/scrcpy/pull/4052 >
Fixes #3752 <https://github.com/Genymobile/scrcpy/issues/3752 >
2023-06-10 16:04:51 +02:00
Romain Vimont
5042f8de93
Improve recording documentation
2023-06-10 16:03:27 +02:00
Romain Vimont
7536f95d1c
Rename raw_video_stream to raw_stream
...
This server-specific option impacts both the video and audio streams.
2023-06-10 12:09:43 +02:00
Romain Vimont
6832e8d629
Remove spurious empty line
2023-06-10 12:07:35 +02:00
Romain Vimont
28313631e5
Reformat Java code
...
Fix code style.
2023-06-09 22:28:01 +02:00
Romain Vimont
fdbc9397a7
Name Java threads
...
Give a user-friendly name to Java threads created by the server.
2023-06-09 22:27:35 +02:00
Romain Vimont
4ad7479425
Add missing shortcut in documentation
...
MOD+Backspace also triggers BACK.
2023-06-08 08:52:21 +02:00
Romain Vimont
a3cdf1a6b8
Add option to kill adb on close
...
Killing adb on close by default would be incorrect, since it would break
any other usage of adb in parallel.
It could be easily done manually by calling "adb kill-server" once
scrcpy terminates, but add an option --kill-adb-on-close for
convenience.
Fixes #205 <https://github.com/Genymobile/scrcpy/issues/205 >
Fixes #2580 <https://github.com/Genymobile/scrcpy/issues/2580 >
Fixes #4049 <https://github.com/Genymobile/scrcpy/issues/4049 >
2023-06-05 19:48:21 +02:00
Romain Vimont
b16d4d1835
Fix adb server vs adb daemon confusion
...
The adb daemon runs on the device, the adb server runs as a background
process on the computer.
2023-06-05 19:45:20 +02:00
Romain Vimont
b8d43866d2
Fix options alphabetical order
...
Commit fc52b24503
missed this one.
2023-06-05 19:44:15 +02:00
Romain Vimont
2d79aeb117
Simplify command in documentation
...
If --no-video is passed, --no-playback is equivalent to
--no-audio-playback.
2023-06-04 18:43:35 +02:00
Romain Vimont
888a5aae7d
Fix typo in recording documentation
...
The option is --record, not --record-file.
2023-06-04 18:40:55 +02:00
Romain Vimont
323ea2f1d9
Fix PTS when not monotonically increasing
...
Some decoders fail to guarantee that PTS is strictly monotonically
increasing. Fix the (rescaled) PTS when it does not respect this
constraint.
Fixes #4054 <https://github.com/Genymobile/scrcpy/issues/4054 >
2023-06-03 18:50:28 +02:00
Romain Vimont
9ca554ca41
Extract stream-specific structure in recorder
...
For now, it only contains the stream index, but more fields will be
added.
2023-06-03 18:48:01 +02:00
Romain Vimont
9d3c656414
Fix recorder waiting when stream disabled
...
In the recorder, if the video or audio stream is disabled, do not wait
for its initialization (it will never happen) to process the header.
In that case (scrcpy --no-audio --record=file.mp4), this caused the
whole content to be buffered in memory, and written only on exit.
2023-06-03 18:46:39 +02:00
Romain Vimont
379caf8551
Use a single condvar in recorder
...
The sc_cond_wait() in sc_recorder_process_header() needs to be notified
of changes to video_init/audio_init (protected by stream_cond) and
video_queue/audio_queue (protected by queue_cond).
Use only one condition variable to simplify.
2023-06-03 15:10:42 +02:00