Since #5804, controls have been enabled even with --no-window. As a
result, the Android clipboard is synchronized with the computer, causing
SDL to trigger an SDL_CLIPBOARDUPDATE event.
This event is ignored by scrcpy, but it was still transmitted to the
sc_screen instance, even if it had not been initialized.
Fix the issue by calling sc_screen_handle_event() only when a screen
instance exists.
Refs #5804 <https://github.com/Genymobile/scrcpy/pull/5804>
Fixes#5970 <https://github.com/Genymobile/scrcpy/issues/5970>
Store the target audio source integer (one of the constants from
android.media.MediaRecorder.AudioSource) in the AudioSource enum (or -1
if not relevant).
This will simplify adding new audio sources.
PR #5870 <https://github.com/Genymobile/scrcpy/pull/5870>
The audio regulator assumed a continuous audio stream. But some audio
sources (like the "voice call" audio source) do not produce any packets
on silence, breaking this assumption.
Use PTS to detect such discontinuities.
PR #5870 <https://github.com/Genymobile/scrcpy/pull/5870>
The default OPUS and FLAC encoders on Android rewrite the input PTS so
that they exactly match the number of samples.
As a consequence:
- audio clock drift is not compensated
- implicit silences (without packets) are ignored
To work around this behavior, generate new PTS based on the current time
(after encoding) and the packet duration.
PR #5870 <https://github.com/Genymobile/scrcpy/pull/5870>
Add an option to select where the IME should be displayed.
Possible values are "local", "fallback" and "hide".
PR #5703 <https://github.com/Genymobile/scrcpy/pull/5703>
Signed-off-by: Romain Vimont <rom@rom1v.com>
Use the oldest Ubuntu version currently available in GitHub Actions to
ensure maximum compatibility with older systems.
Refs 95c4f03c1bfd566b383780977b3473ebad6477ee
Refs #5689 <https://github.com/Genymobile/scrcpy/issues/5689>
On Github Actions, ubuntu-latest now points to ubuntu-24.04, which uses
a newer version of glibc (2.39). As a result, the binaries fail to work
on systems with older versions of glibc, such as Debian Bookworm.
To ensure better compatibility, continue building the static Linux
binary on Ubuntu 22.04 (with glibc 2.35).
Fixes#5689 <https://github.com/Genymobile/scrcpy/issues/5689>
This allows users to compile and run the project in a dev environment.
meson setup x
meson compile -C x
meson devenv -C x
scrcpy
This is an alternative to `./run x`.
PR #5658 <https://github.com/Genymobile/scrcpy/pull/5658>
Signed-off-by: Romain Vimont <rom@rom1v.com>
In Meson cross-files, "pkgconfig" was deprecated in favor of
"pkg-config" in meson 1.3.0.
The new name is used since 85a94dd4b563e961304b2d9082932c5c1cc2e582 to
avoid a warning, but then it fails with older versions of meson.
To avoid the problem, define both pkg-config and pkgconfig.
> For backward compatibility it is still allowed to define both with the
> same value, in that case no deprecation warning is printed.
<https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig>
This reverts commit 678025b31672c230575fe2dbc4a0d487d5010bb1.
This avoids spurious errors on the CI:
E: Unable to fetch some archives, maybe run apt-get update or try
with --fix-missing?