wuderek
be3f949aa5
Adapt to display API changes
...
The method SurfaceControl.createDisplay() has been removed in AOSP.
Use DisplayManager to create a VirtualDisplay object instead.
Fixes #4646 <https://github.com/Genymobile/scrcpy/issues/4646 >
Fixes #4656 <https://github.com/Genymobile/scrcpy/issues/4656 >
PR #4657 <https://github.com/Genymobile/scrcpy/pull/4657 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2024-02-10 10:01:22 +01:00
Romain Vimont
f7b4a18b43
Catch generic ReflectiveOperationException
...
This exception is a super-type of:
- ClassNotFoundException
- IllegalAccessException
- InstantiationException
- InvocationTargetException
- NoSuchFieldException
- NoSuchMethodException
Use it to simplify.
2024-02-10 10:00:28 +01:00
Romain Vimont
05b5deacad
Move service managers creation
...
Create the service managers from each manager wrapper class rather than
from their getter in ServiceManager.
The way a wrapper retrieve the underlying service is an implementation
detail, and it must be consistent with the way it accesses it, so it is
better to write the creation in the wrapper.
2024-02-10 10:00:26 +01:00
Romain Vimont
d25cbc55f2
Remove unused field
2024-02-09 18:32:48 +01:00
Romain Vimont
3333e67452
Fix memory leak on error
...
Fixes #4636 <https://github.com/Genymobile/scrcpy/issues/4636 >
2024-02-01 09:19:47 +01:00
Romain Vimont
7c53a29d72
Remove useless run script
...
This script was outdated and redundant with ./run.
2024-01-26 13:13:55 +01:00
Romain Vimont
5187f7254e
Add another clipboard workaround for IQOO device
...
Fixes #4589 <https://github.com/Genymobile/scrcpy/issues/4589 >
Refs 5ce8672ebc56b7286e1078a39abc64903e5664d0
Refs #4492 <https://github.com/Genymobile/scrcpy/issues/4492 >
2024-01-17 10:15:00 +01:00
Romain Vimont
2ad93d1fc0
Fix scrcpy_otg() return value on error
...
The function now returns an enum scrcpy_exit_code, not a bool.
2024-01-15 22:01:19 +01:00
Romain Vimont
d067a11478
Do not power on if no video
...
Power on the device on start only if video capture is enabled.
Note that it only impacts display mirroring, since control is completely
disabled if video source is camera.
Refs 110b3a16f6d02124a4567d2ab79fcb74d78f949f
2024-01-07 21:12:39 +01:00
Romain Vimont
cd4056d0f3
Fix include formatting
2024-01-02 10:22:28 +01:00
Romain Vimont
6a58891e13
Use current time as initial timestamp on error
...
If the initial timestamp could not be retrieved, use the current time as
returned by System.nanoTime(). In practice, it is the same time base as
AudioRecord timestamps.
Fixes #4536 <https://github.com/Genymobile/scrcpy/issues/4536 >
2023-12-16 20:17:33 +01:00
Romain Vimont
ec41896c85
Fix integer overflow for audio packet duration
...
The result is assigned to a long (64-bit signed integer), but the
intermediate multiplication was stored in an int (32-bit signed
integer).
This value is only used as a fallback when no timestamp could be
retrieved, that's why it did not cause too much harm so far.
Fixes #4536 <https://github.com/Genymobile/scrcpy/issues/4536 >
2023-12-16 20:16:31 +01:00
Romain Vimont
4cd61b5a90
Fix checkstyle violation
...
Reported by checkstyle:
> [ant:checkstyle] [INFO]
> scrcpy/server/src/main/java/com/genymobile/scrcpy/wrappers/ClipboardManager.java:48:
> Line is longer than 150 characters (found 167). [LineLength]
2023-12-16 20:12:58 +01:00
Till Rathmann
d2ed4510a7
Simulate tilt multitouch event by pressing Shift
...
PR #4529 <https://github.com/Genymobile/scrcpy/pull/4529 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-12-15 22:12:07 +01:00
Harsh Shandilya
604dfd7c6b
Fix incorrect compgen usage
...
PR #4532 <https://github.com/Genymobile/scrcpy/pull/4532 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-12-14 17:08:19 +01:00
Harsh Shandilya
af69689ec1
Fix bash completion syntax
...
PR #4532 <https://github.com/Genymobile/scrcpy/pull/4532 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-12-14 17:07:20 +01:00
Romain Vimont
cbce42336d
Fix manpage syntax
...
The '-' character must be escaped.
Fixes #4528 <https://github.com/Genymobile/scrcpy/issues/4528 >
2023-12-13 13:42:57 +01:00
Romain Vimont
5a6b8310ca
Add note about official website
2023-12-13 12:55:14 +01:00
Romain Vimont
c9a4d2b38f
Use up-to-date values on display fold change
...
When a display is folded or unfolded, the maxSize may have been updated
since the option was passed, and deviceSize must be updated.
Refs #4469 <https://github.com/Genymobile/scrcpy/pull/4469 >
2023-12-04 08:50:12 +01:00
Romain Vimont
1beec99f82
Explicitly exit cleanup process
...
This avoids an internal crash reported in `adb logcat`.
Refs #4456 <https://github.com/Genymobile/scrcpy/pull/4456#issuecomment-1837427802 >
2023-12-04 08:45:35 +01:00
Romain Vimont
5ce8672ebc
Add clipboard workaround for IQOO device
...
Fixes #4492 <https://github.com/Genymobile/scrcpy/issues/4492 >
2023-12-04 08:43:31 +01:00
Romain Vimont
3001f8a2d5
Adapt AudioRecord workaround to Android 14
...
Android 14 added a new int parameter "halInputFlags" to an internal
method:
<f6135d75db
>
Fixes #4492 <https://github.com/Genymobile/scrcpy/issues/4492 >
2023-12-03 18:01:11 +01:00
Romain Vimont
c6ff78f414
Update links to v2.3.1
v2.3.1-install-release
2023-12-02 12:39:05 +01:00
Romain Vimont
40f2560d98
Bump version to 2.3.1
v2.3.1
2023-12-02 12:30:19 +01:00
Romain Vimont
26aa28c998
Merge branch 'master' into release
2023-12-02 12:29:31 +01:00
Romain Vimont
ef79fcbbd2
Fix AV1 demuxing
...
For AV1, the config packet must not be merged with the next non-config
packet.
This fixes the following error when passing --video-codec=av1:
> INFO: [FFmpeg] libdav1d 1.3.0
> ERROR: [FFmpeg] Unknown OBU type 0 of size 29393
> ERROR: [FFmpeg] Error parsing OBU data
> ERROR: Decoder 'video': could not send video packet: -1094995529
PR #4487 <https://github.com/Genymobile/scrcpy/pull/4487 >
2023-12-02 12:20:01 +01:00
Romain Vimont
9497f39fb4
Do not fail if SDL_INIT_VIDEO fails without video
...
The SDL video subsystem may be initialized so that clipboard
synchronization works even without video playback.
But if the video subsystem initialization fails (e.g. because no video
device is available), consider it as an error only if video playback is
enabled.
Refs 5e59ed31352251791679e5931d7e5abf0c2d18f6
Fixes #4477 <https://github.com/Genymobile/scrcpy/issues/4477 >
2023-11-29 12:16:05 +01:00
Romain Vimont
bf056b1fee
Do not initialize SDL video when not necessary
...
The SDL video subsystem is required for video playback and clipboard
synchronization.
If neither is used, it is not necessary to initialize it.
Refs 5e59ed31352251791679e5931d7e5abf0c2d18f6
Refs 110b3a16f6d02124a4567d2ab79fcb74d78f949f
Refs #4418 <https://github.com/Genymobile/scrcpy/issues/4418 >
Refs #4477 <https://github.com/Genymobile/scrcpy/issues/4477 >
2023-11-29 12:14:07 +01:00
Johannes Neyer
bd9292931e
Mention exclusive_caps mode in v4l2 documentation
...
PR #4435 <https://github.com/Genymobile/scrcpy/pull/4435 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-11-28 08:32:28 +01:00
Romain Vimont
140a49b8be
Add workaround for Samsung devices issues
...
On some Samsung devices, DisplayManagerGlobal.getDisplayInfoLocked()
calls ActivityThread.currentActivityThread().getConfiguration(), which
requires a non-null ConfigurationController.
Fixes <https://github.com/Genymobile/scrcpy/issues/4467 >
2023-11-27 09:29:06 +01:00
Romain Vimont
4135c411af
Fix compilation error
...
Fix the following warning/error:
../app/src/cli.c:2158:17: warning: a label can only be part of a
statement and a declaration is not a statement [-Wpedantic]
With some compilers, this is an error rather than a pedantic warning.
Refs <https://github.com/Genymobile/scrcpy/issues/2256#issuecomment-1467008307 >
2023-11-25 23:56:46 +01:00
Romain Vimont
5e061636f6
Update links to v2.3
v2.3-install-release
2023-11-25 22:15:07 +01:00
Romain Vimont
5f3fb843f5
Bump version to 2.3
...
The previous version bump to 2.2 was incorrect, it was updated by:
./bump_version v2.2
instead of:
./bump_version 2.2
Correctly bump to version 2.3.
Refs #4433 <https://github.com/Genymobile/scrcpy/issues/4433#issuecomment-1816830875 >
v2.3
2023-11-25 21:40:27 +01:00
Romain Vimont
ce8126f322
Merge branch 'master' into release
2023-11-25 21:37:37 +01:00
Romain Vimont
d037b02cc2
Fix scrcpy-console.desktop
...
The argument passed to scrcpy was not applied, the full command must be
passed as a single argument.
PR #4448 <https://github.com/Genymobile/scrcpy/pull/4448 >
2023-11-25 21:35:04 +01:00
Kid
89761213c3
Do not quote $SHELL in .desktop files
...
This does not work properly on some desktop environments (KDE), and
$SHELL is unlikely to require quoting.
Fixes #4367 <https://github.com/Genymobile/scrcpy/issues/4367 >
PR #4448 <https://github.com/Genymobile/scrcpy/pull/4448 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-11-25 21:28:43 +01:00
Kid
8db4e78b34
Fix Linux desktop files
...
There were too many backslashes in the Exec line.
Fixes #4367 <https://github.com/Genymobile/scrcpy/issues/4367 >
PR #4448 <https://github.com/Genymobile/scrcpy/pull/4448 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-11-25 21:28:43 +01:00
Romain Vimont
5d4b8a7e6d
Fix turn screen off on Android 14
...
On Android 14, the methods to access the display have been moved to
DisplayControl, which is not in the core framework. Use a specific
ClassLoader to access this class and its native dependencies.
Fixes #3927 <https://github.com/Genymobile/scrcpy/issues/3927 >
Refs #3927 comment <https://github.com/Genymobile/scrcpy/issues/3927#issuecomment-1790031953 >
Refs #4446 comment <https://github.com/Genymobile/scrcpy/pull/4446#issuecomment-1824660915 >
PR #4456 <https://github.com/Genymobile/scrcpy/pull/4456 >
Co-authored-by: Simon Chan <1330321+yume-chan@users.noreply.github.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-11-25 21:25:26 +01:00
Romain Vimont
eed06b141a
Upgrade sdl (2.28.5) for Windows
...
Include the latest version of SDL in Windows releases.
2023-11-25 21:06:45 +01:00
Romain Vimont
825d7f72c0
Extract $VERSION for dependency scripts
...
This will allow to update the version only once in these files.
2023-11-25 21:06:45 +01:00
Romain Vimont
2370298b61
Download SDL prebuilt binaries from github
...
The server is faster than libsdl.org.
2023-11-25 21:06:45 +01:00
Romain Vimont
67f356f881
Improve crossbuild
...
Install all the prebuilt dependencies for Windows to a specific folder,
and use meson command line options to specify their location.
This removes crossbuild-specific code from the meson scripts and will
simplify dependency upgrades.
PR #4460 <https://github.com/Genymobile/scrcpy/pull/4460 >
2023-11-25 21:06:37 +01:00
Romain Vimont
c573bd2a33
Fix java code style
2023-11-23 23:50:00 +01:00
sam80180
acb2988837
Do not hardcode server path on the device
...
The path can be retrieved from the classpath.
PR #4416 <https://github.com/Genymobile/scrcpy/pull/4416 >
Co-authored-by: Romain Vimont <rom@rom1v.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2023-11-23 23:39:40 +01:00
Romain Vimont
85a94dd4b5
Fix meson deprecated 'pkgconfig' to 'pkg-config'
...
When running ./release.sh:
> DEPRECATION: "pkgconfig" entry is deprecated and should be replaced by
> "pkg-config"
2023-11-23 23:39:40 +01:00
Romain Vimont
94031dfe97
Update documentation about video orientation
...
PR #4441 <https://github.com/Genymobile/scrcpy/pull/4441 >
2023-11-23 23:34:46 +01:00
Romain Vimont
b43a9e8e7a
Add --orientation
...
Add a shortcut to set both the display and record orientations.
PR #4441 <https://github.com/Genymobile/scrcpy/pull/4441 >
2023-11-23 23:34:46 +01:00
Romain Vimont
a9d6cb5837
Add --record-orientation
...
Add an option to store the orientation to apply in a recorded file.
Only rotations are supported (not flips).
PR #4441 <https://github.com/Genymobile/scrcpy/pull/4441 >
2023-11-23 23:34:46 +01:00
Romain Vimont
2f92686930
Pass --lock-video-orientation argument in degrees
...
For consistency with the new --display-orientation option, express the
--lock-video-orientation in degrees clockwise:
* --lock-video-orientation=0 -> --lock-video-orientation=0
* --lock-video-orientation=3 -> --lock-video-orientation=90
* --lock-video-orientation=2 -> --lock-video-orientation=180
* --lock-video-orientation=1 -> --lock-video-orientation=270
PR #4441 <https://github.com/Genymobile/scrcpy/pull/4441 >
2023-11-23 23:27:32 +01:00
Romain Vimont
bb88b60227
Add --display-orientation
...
Deprecate the option --rotation and introduce a new option
--display-orientation with the 8 possible orientations (0, 90, 180, 270,
flip0, flip90, flip180 and flip270).
New shortcuts MOD+Shift+(arrow) dynamically change the display
(horizontal or vertical) flip.
Fixes #1380 <https://github.com/Genymobile/scrcpy/issues/1380 >
Fixes #3819 <https://github.com/Genymobile/scrcpy/issues/3819 >
PR #4441 <https://github.com/Genymobile/scrcpy/pull/4441 >
2023-11-23 23:27:28 +01:00