Romain Vimont
bf8696d02e
Avoid unnecessary copy on config packets demuxing
...
Use av_packet_ref() to reference the packet without copy.
This also simplifies the logic, by making the "offset" variable and the
memcpy() call local to the if-block.
2023-01-02 16:18:23 +01:00
Romain Vimont
d8c2fe6ef2
Revert "Remove continuous resizing workaround for Windows"
...
This reverts commit 18082f6069
.
I can't reproduce, but it seems the workaround improves the behavior on
some Windows versions.
Fixes #3640 <https://github.com/Genymobile/scrcpy/issues/3640 >
Refs #3458 <https://github.com/Genymobile/scrcpy/issues/3458 >
2022-12-26 12:42:59 +01:00
Romain Vimont
54c7baceac
Use "meson setup" from install_release.sh
...
Refs 64821466a1
2022-12-22 13:07:07 +01:00
Romain Vimont
4c43784fd1
Update links to v1.25
2022-12-22 12:44:01 +01:00
Romain Vimont
fe21158c20
Bump version to 1.25
2022-12-22 12:33:29 +01:00
Romain Vimont
8e0c899218
Upgrade FFmpeg (5.1.2) for Windows 64-bit
...
Use the latest version of FFmpeg in Windows 64-bit releases.
2022-12-22 12:33:08 +01:00
Romain Vimont
725a922271
Upgrade SDL (2.26.1) for Windows
...
Include the latest version of SDL in Windows releases.
2022-12-22 12:29:08 +01:00
Romain Vimont
b5773a6fe8
Upgrade platform-tools (33.0.3) for Windows
...
Include the latest version of adb in Windows releases.
2022-12-22 12:29:08 +01:00
Romain Vimont
67fb457dcb
Merge branch 'master' into dev
2022-12-22 12:29:00 +01:00
Pawel Jasinski
c7b1d0ea9a
Force mouse source when --forward-all-clicks
...
Right click and middle click require the source device to be a mouse,
not a touchscreen. Therefore, the source device was changed only when a
button other than the primary button was pressed (see
adc547fa6e
).
However, this led to inconsistencies between the ACTION_DOWN when a
secondary button is pressed (with a mouse as source device) and the
matching ACTION_UP when the secondary button is released (with a
touchscreen as source device, because then there is no button pressed).
To avoid the problem in all cases, force a mouse as source device when
--forward-all-clicks is set.
Concretely, for mouse events in --forward-all-clicks mode:
- device source is set to InputDevice.SOURCE_MOUSE;
- motion event toolType is set to MotionEvent.TOOL_TYPE_MOUSE;
Otherwise (when --forward-all-clicks is unset, or for real touch
events), finger events are injected:
- device source is set to InputDevice.SOURCE_TOUCHSCREEN;
- motion event toolType is set to MotionEvent.TOOL_TYPE_FINGER.
Fixes #3568 <https://github.com/Genymobile/scrcpy/issues/3568 >
PR #3579 <https://github.com/Genymobile/scrcpy/pull/3579 >
Co-authored-by: Romain Vimont <rom@rom1v.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-12-22 11:26:26 +01:00
Romain Vimont
18082f6069
Remove continuous resizing workaround for Windows
...
It turns out that the workaround only worked for MacOS.
Refs #3458 <https://github.com/Genymobile/scrcpy/issues/3458 >
Refs SDL/#1059 <https://github.com/libsdl-org/SDL/issues/1059 >
2022-12-21 22:06:43 +01:00
Romain Vimont
8b38b11875
Add parent directory in release zipfile
...
This avoids to mistakenly extract all the files in the current
directory.
2022-12-21 13:31:18 +01:00
Romain Vimont
64821466a1
Use "meson setup"
...
This fixes the following warning:
> WARNING: Running the setup command as `meson [options]` instead of
> `meson setup [options]` is ambiguous and deprecated.
2022-12-21 13:29:27 +01:00
Romain Vimont
82cb8ab870
Adapt ClipboardManager for Android 13
...
A new "attributionTag" parameter has been added to the methods
getPrimaryClip(), setPrimaryClip() and addPrimaryClipChangedListener()
of IClipboard.aidl.
Refs <0e3e509b3b
%5E%21/>
Fixes #3497 <https://github.com/Genymobile/scrcpy/issues/3497 >
2022-12-21 13:28:22 +01:00
Romain Vimont
b51841e85d
Upgrade junit to 4.13.2
2022-12-21 13:28:22 +01:00
Romain Vimont
bd1deffa70
Use current adb port (if any) for --tcpip
...
If the current adb port is not 5555 (typically 0 because it is not in
TCP/IP mode), --tcpip automatically executes (among other commands):
adb tcpip 5555
In case adb was already listening on another port, this command forced
to listen on 5555, and the connection should still succeed.
But this reconfiguration might be inconvenient for the user. If adb is
already in TCP/IP mode, use the current enabled port without
reconfiguration.
Fixes #3591 <https://github.com/Genymobile/scrcpy/issues/3591 >
2022-12-02 19:09:53 +01:00
Romain Vimont
6469b55861
Fix CommandParserTest code style
...
Make checkstyle happy.
2022-11-24 09:27:10 +01:00
Romain Vimont
c00a9ead5e
Always use --key=value in README
...
Mandatory arguments may be passed in either of these two forms:
1. --key value
2. --key=value
Optional argument may only be passed in the second form.
For consistency, always document using --key=value.
Refs f76fe2c0d4
2022-11-17 09:27:05 +01:00
SeungHoon Han
597703b62e
Fix DisplayInfo parsing for Android Q
...
The DisplayInfo dump format has slightly changed in AOSP:
<1039ea50f3
>
PR #3573 <https://github.com/Genymobile/scrcpy/pull/3573 >
Ref #3416 <https://github.com/Genymobile/scrcpy/pull/3416 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-11-12 18:15:45 +01:00
Yu-Chen Lin
48bb6f2ea8
Support wchar_t in argv for Windows
...
PR #3547 <https://github.com/Genymobile/scrcpy/pull/3547 >
Fixes #2932 <https://github.com/Genymobile/scrcpy/issues/2932 >
Signed-off-by: Yu-Chen Lin <npes87184@gmail.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-10-23 23:45:00 +02:00
Yu-Chen Lin
d71587e39b
Avoid string concatenation in crossfiles
...
This feature is not supported on older meson versions:
ERROR: Malformed value in cross file variable prebuilt_libusb.
Refs <https://github.com/mesonbuild/meson/issues/3878 >
PR #3546 <https://github.com/Genymobile/scrcpy/pull/3546 >
Signed-off-by: Yu-Chen Lin <npes87184@gmail.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-10-23 12:31:44 +02:00
Romain Vimont
b62424a98a
Build log.c for test_cli
...
On Windows, sc_log_windows_error() is called from net.c, so log.c must
also be compiled.
Fixes #3542 <https://github.com/Genymobile/scrcpy/issues/3542 >
2022-10-19 15:17:43 +02:00
Romain Vimont
ffc7b91693
Add missing include <string.h> for strlen()
2022-10-19 15:14:56 +02:00
Romain Vimont
cb46e4a64a
Add missing include <string.h> for memmove()
2022-10-19 15:13:55 +02:00
Anima C13
16e2c1ce26
Add -s auto-completion for zsh
...
Fixes #3522 <https://github.com/Genymobile/scrcpy/pull/3522 >
PR #3523 <https://github.com/Genymobile/scrcpy/pull/3523 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-10-12 13:24:43 +02:00
Anima C13
1bfbadef96
Add -s auto-completion for bash
...
Fixes #3522 <https://github.com/Genymobile/scrcpy/pull/3522 >
PR #3523 <https://github.com/Genymobile/scrcpy/pull/3523 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-10-12 13:24:43 +02:00
Romain Vimont
40644994e8
Make ServiceManager and Settings methods static
...
There were exactly one instance of ServiceManager and Settings, stored
in Device.
Since a Device instance is not created by the CleanUp executable, it was
not straightforward to call wrapper methods on cleanup.
Remove this artificial restriction and expose them publicly via static
methods (this is equivalent to expose a singleton, but less verbose).
2022-10-02 17:57:35 +02:00
Romain Vimont
7505f7117e
Fix typo in logs
2022-09-27 14:12:37 +02:00
SeungHoon Han
949b64dff2
Add fallback to get DisplayInfo
...
PR #3416 <https://github.com/Genymobile/scrcpy/pull/3416 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-09-25 16:22:51 +02:00
Romain Vimont
00e9e69c2a
Use /dev/null instead of closing fds
...
Some adb commands do not like when stdin, stdout or stderr are closed
(they hang forever). Open /dev/null for each.
2022-09-25 15:42:33 +02:00
Romain Vimont
4a5cdcd390
Extract $BUILD_TOOLS_DIR
...
In the script to build without gradle, the build-tools full path is used
at several places. Use a separate variable for readability.
2022-09-25 14:26:07 +02:00
Romain Vimont
e5e210506f
Add scrcpy-console.desktop
...
Add a launcher which opens a terminal, and keep it open in case of
errors (so that the user has time to read error messages).
The behavior is the same as scrcpy-console.bat on Windows.
PR #3351 <https://github.com/Genymobile/scrcpy/pull/3351 >
2022-09-09 19:06:29 +02:00
Chih-Hsuan Yen
a2a22f497f
Use shell environment to execute launcher
...
Make Exec= compatible with $PATH configured in .bashrc or .zshrc…
PR #3351 <https://github.com/Genymobile/scrcpy/pull/3351 >
Refs #296 <https://github.com/Genymobile/scrcpy/pull/296#discussion_r224987002 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-09-09 19:06:29 +02:00
Addison Snelling
51a1762cbd
Add desktop entry file for Linux app launchers
...
Refs <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html >
PR #3351 <https://github.com/Genymobile/scrcpy/pull/3351 >
Replaces PR #296 <https://github.com/Genymobile/scrcpy/pull/296 >
Fixes #295 <https://github.com/Genymobile/scrcpy/issues/295 >
Fixes #748 <https://github.com/Genymobile/scrcpy/issues/748 >
Fixes #1636 <https://github.com/Genymobile/scrcpy/issues/1636 >
Co-authored-by: Chih-Hsuan Yen <yan12125@gmail.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-09-09 19:06:29 +02:00
Romain Vimont
c1ec1d1023
Replace hardcoded 'share/' by datadir variable
...
Meson defines a variable for the data directory.
PR #3351 <https://github.com/Genymobile/scrcpy/pull/3351 >
2022-09-09 19:06:29 +02:00
Romain Vimont
0a0a446ea6
Upgrade Android SDK to 33
2022-09-02 14:42:37 +02:00
Romain Vimont
fccfc43b9e
Upgrade gradle build tools to 7.2.2
...
Plugin version 7.2.2.
Gradle version 7.3.3.
Refs: <https://developer.android.com/studio/releases/gradle-plugin#updating-gradle >
2022-09-02 14:40:16 +02:00
Romain Vimont
121bb71dfe
Move from jcenter() to mavenCentral()
...
Refs <https://developer.android.com/studio/build/jcenter-migration >
Refs <https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ >
2022-09-02 14:31:15 +02:00
Simon Chan
57056d078d
Use precise scrolling values
...
Since SDL 2.0.18, the amount scrolled horizontally or vertically is
exposed as a float (between 0 and 1). Forward a precise value to the
Android device when possible.
Refs <https://wiki.libsdl.org/SDL_MouseWheelEvent >
Fixes #3363 <https://github.com/Genymobile/scrcpy/issues/3363 >
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-08-28 15:23:08 +02:00
Romain Vimont
1f138aef41
Add conversion from float to fixed-point i16
...
To encode float values between -1 and 1.
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
1ab6c19486
Add unit test for float encoding
...
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
fd3483c837
Extract conversion from float to u16 fixed-point
...
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
041cdf6cf5
Rename buffer_util.h to binary.h
...
It will allow to expose more binary util functions not related to
buffers.
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
136ab8c199
Add unit test for float decoding
...
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
3848ce86f1
Extract conversion from u16 fixed-point to float
...
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
5b8e9aa0e9
Move toUnsigned() to a Binary util class
...
PR #3369 <https://github.com/Genymobile/scrcpy/pull/3369 >
2022-08-28 15:23:08 +02:00
Romain Vimont
3a66b5fd01
Remove deprecated meson.source_root()
...
This method is deprecated since Meson 0.56.0:
<https://mesonbuild.com/Release-notes-for-0-56-0.html#mesonbuild_root-and-mesonsource_root-are-deprecated >
We could replace it with meson.project_source_root(), but this would
make Meson 0.56 or above mandatory. Since the path in always computed
from the server/ directory, just add '..' to reference the root project
directory.
Refs c456e38264
2022-08-28 15:16:31 +02:00
Romain Vimont
72ba913324
Move README and FAQ translations to the wiki
...
This lowers the barrier to contribute to translations, and frees up my
maintenance time used to review and merge translations and their updates
in many languages.
2022-08-28 15:13:03 +02:00
Romain Vimont
77ebe786ea
Fix FAQ formatting
2022-08-21 13:52:51 +02:00
Derek Wu
9c1722f428
Use DisplayManagerGlobal instance
...
Use the client instance to communicate with the DisplayManager server.
Fixes #3446 <https://github.com/Genymobile/scrcpy/issues/3446 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2022-08-19 18:03:38 +02:00