Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package scrcpy for openSUSE:Factory checked in at 2025-09-30 17:40:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scrcpy (Old) and /work/SRC/openSUSE:Factory/.scrcpy.new.11973 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scrcpy" Tue Sep 30 17:40:29 2025 rev:2 rq:1307856 version:3.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/scrcpy/scrcpy.changes 2025-09-26 22:26:54.432043580 +0200 +++ /work/SRC/openSUSE:Factory/.scrcpy.new.11973/scrcpy.changes 2025-09-30 17:41:25.354817591 +0200 @@ -1,0 +2,10 @@ +Sat Sep 27 14:23:58 UTC 2025 - [email protected] + +- Update to version 3.3.3: + * Fix immediate error after new Android 16 upgrade (#6362) + * Make virtual display presentable (#6344) + +- Fix regex tests for the sha256 checksum +- Move adjustment of scrcpy-update-server from %prep to %build + +------------------------------------------------------------------- Old: ---- scrcpy-3.3.2.tar.gz New: ---- scrcpy-3.3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scrcpy.spec ++++++ --- /var/tmp/diff_new_pack.10X1ou/_old 2025-09-30 17:41:26.894882424 +0200 +++ /var/tmp/diff_new_pack.10X1ou/_new 2025-09-30 17:41:26.898882593 +0200 @@ -16,12 +16,12 @@ # -%define srv_sha256 %(sed -n -e 's/^\\([0-9a-z]\\{64\\}\\) scrcpy-server-v.*/\\1/p' %{SOURCE1}) +%define srv_sha256 %(sed -n -e 's/^\\([a-fA-F0-9]\\{64\\}\\) scrcpy-server-v.*/\\1/p' %{SOURCE1}) %define srv_info Use %{_bindir}/%{name}-update-server (root/sudo) to download/update\ the required pre-build %{_datadir}/%{name}/%{name}-server binary. Name: scrcpy -Version: 3.3.2 +Version: 3.3.3 Release: 0 Summary: Display and control your Android device License: Apache-2.0 @@ -66,9 +66,6 @@ %prep %autosetup -p1 -sed -e 's|@VERSION@|%{version}|;s|@SHA256@|%{srv_sha256}|' \ - %{SOURCE4} > %{name}-update-server - %build %if 0%{?suse_version} < 1600 export CC=gcc-11 @@ -77,6 +74,9 @@ %meson -Dcompile_server=false %meson_build +sed -e 's|@VERSION@|%{version}|;s|@SHA256@|%{srv_sha256}|' \ + %{SOURCE4} > %{name}-update-server + %install %meson_install @@ -89,8 +89,8 @@ desktop-file-validate \ %{buildroot}%{_datadir}/applications/%{name}{,-console}.desktop %{name} --version -if [ -z "%{srv_sha256}" ] ; then - echo "SHA256 checksum for %{name}-server is missing." +if ! echo "%{srv_sha256}" | grep -E -q "^[a-fA-F0-9]{64}$" ; then + echo -e "The SHA256 checksum for %{name}-server is invalid:\n'%{srv_sha256}'" exit 1 fi ++++++ SHA256SUMS.txt ++++++ --- /var/tmp/diff_new_pack.10X1ou/_old 2025-09-30 17:41:26.978885960 +0200 +++ /var/tmp/diff_new_pack.10X1ou/_new 2025-09-30 17:41:26.982886129 +0200 @@ -1,7 +1,7 @@ -2ee5ca0863ef440f5b7c75856bb475c5283d0a8359cb370b1c161314fd29dfd9 scrcpy-server-v3.3.2 -92bed0fa274b9165eb8740e07cf2e2692ebe09ad6911175b0ee42e08799dc51c scrcpy-linux-x86_64-v3.3.2.tar.gz -cff2bbebdcfe14a023b77cd601fc4420b5631b19bd4b09ce4dcd4e5bf8e63244 scrcpy-win32-v3.3.2.zip -8f7b19371657b872e271e6b02a0c758c61c6e31e032e9df55a83aa3aab960bfa scrcpy-win64-v3.3.2.zip -a213eeff8ac95893e69c4bc6a001a402c6680dbfcb74cb353c0124184ed88e8d scrcpy-macos-aarch64-v3.3.2.tar.gz -2a1b27fbb67821a886c7e8dea641899836c0abbe7afd37905584b99bcd21bc04 scrcpy-macos-x86_64-v3.3.2.tar.gz +7e70323ba7f259649dd4acce97ac4fefbae8102b2c6d91e2e7be613fd5354be0 scrcpy-server-v3.3.3 +9b30e813e8191329ba8025dc80cb0f198fb0a318960a3b5c15395cf675c9c638 scrcpy-linux-x86_64-v3.3.3.tar.gz +e3d43e21c0bd6e070381c390c1e4cccd48a1e71ae73a8c217e6e6b8506598c79 scrcpy-win32-v3.3.3.zip +4b458d33d0436688c69875cd267cae6fa8be08aa3c17772edf3a940a3dc4b17e scrcpy-win64-v3.3.3.zip +b93299468f19ae89ac70f7c1453914c41f1f2bcd31f6ab530038da885c19581f scrcpy-macos-aarch64-v3.3.3.tar.gz +c767fc1d41e4ae26e40558656570962f474739924fd22ee023d8754889ee4366 scrcpy-macos-x86_64-v3.3.3.tar.gz ++++++ SHA256SUMS.txt.asc ++++++ --- /var/tmp/diff_new_pack.10X1ou/_old 2025-09-30 17:41:27.006887139 +0200 +++ /var/tmp/diff_new_pack.10X1ou/_new 2025-09-30 17:41:27.010887308 +0200 @@ -1,17 +1,17 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCAAdFiEE454t5qVfWqbY77eaygH0bxhoOz0FAmi8Lp4ACgkQygH0bxho -Oz3ShQ/9FUS9I6lEQGaNP+2a6aUwxm7yyLu9w0e8ALWl6XOekA7PH8aC+kDHmDwT -ttLJBhCJUsa0NYQ4jV+vdmXcOtGdVMXEGaRNkjGV8PVABLFTxt8dmb4q4V+ht6SY -zjM92oS43KH38qKIPS/XuUPVne/hwyy/sHAhT0KPpHnqc7gQIGOwJ0RtbQu0DMSV -hKpQn9fYMUIv8l+SsWzsrIdKrjMK+eNa2CxnIejPJIOWgt7E6AZSIv/fxQDZ5on/ -J+L4JiQvBQqg1Y9htNF+PwG63DRqjZh53dTqJ7173agkD1IG1s29bI40yuWvF1oa -k+eIYMpR6WPBU6DrhhexmK0E81vJNDQqTmzk7FKV1GOSs488MYAGMxQGS1D3CAoy -7ahJqycgQZP0RGiQ5HmeNksxlHrOUs18sRVhdez5Y31AmFM02VSs+GhX+NFsJvFt -tdYxBeuKsxMvtTMdNl8EZGepFII4TJQU7tk0y1CkcCjecsFtXewyja1Dx0JWubeD -XH+YAuUg5pn4Fw3xSFHUcBsuRa1VA861T80nQVP6OzHpihe7SxN29mT+jCAIsiyt -3l5nX3k1b+qVTki769SsgGj+cMzXBBWbQgMlOVioHDxu5m0jc7uuxXqdKwFrQwey -JMFr0mPmQ0nGkxVRP+6xfQ2Kcoiwx0m11geyV/XaQBldIGWyKYA= -=V+x/ +iQIzBAABCAAdFiEE454t5qVfWqbY77eaygH0bxhoOz0FAmjX76gACgkQygH0bxho +Oz2Cow//XF6v8gM2X+kjZRyhLUGmLiiM4b74g9wiPvE3jUvAvQZKsEEL2PpkSo4z +azbn4yS3tPExBDRRFzgaiARPuV1H9mwfQFVL5I9ijTlea821LHfCUvnIKsl1deTC +q1H3jiQxV2oEYKHiyqR6bgjqqPABhnb1wg+yejgJ9JJADWvQ6O1BbUTQmIrEYL+T +yQxcFYGa0rKf/n/WhZHzFFizkUhDsO9+mWstENXKeZ1j1ncMWnYX0lkWG09NT8ah +ehfy3Oc4NPIn9E4URjIjcSkxKxHa89tcpRbnofCFA/OAIZcWFKRFfw6RuJmWp/rf +icdcQEh1F+xfRiUQUqN2YbRHjLKKDw3LNPDt+VeRLU/aSA89NBUVsjiWfG1KMOfG +GDGFGNTOV1sX5aNaVIQ+6zKXDfx0BdxLwOcXeRHH8ShQfcjVHGET7QD+7ZRBVaY6 +K6Kuw2sS+ViIOQ+Wv2nutKirpa3vg7DDChdHJhqwDDOY/kxuGz7J9JSlfvfJOyLl +z9EKY5GNUFBVnqUL7tpmwn4vkoncotV//KpZ8QZs8n8ybGJUPhT8k1gfS8EXftga +9xkC8qUA3PwglswPh0YFUED53m67Zi5tw4trfrnPNOGpODAaeTpygBKICdFSa7R8 +NMW0cmhs2jVo+ci9P7KFJjcwOGf4d1BIOs/ZChcBc6u7tfWcFHY= +=Nkur -----END PGP SIGNATURE----- ++++++ scrcpy-3.3.2.tar.gz -> scrcpy-3.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/README.md new/scrcpy-3.3.3/README.md --- old/scrcpy-3.3.2/README.md 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/README.md 2025-09-27 16:10:10.000000000 +0200 @@ -2,7 +2,7 @@ source for the project. Do not download releases from random websites, even if their name contains `scrcpy`.** -# scrcpy (v3.3.2) +# scrcpy (v3.3.3) <img src="app/data/icon.svg" width="128" height="128" alt="scrcpy" align="right" /> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/app/scrcpy-windows.rc new/scrcpy-3.3.3/app/scrcpy-windows.rc --- old/scrcpy-3.3.2/app/scrcpy-windows.rc 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/app/scrcpy-windows.rc 2025-09-27 16:10:10.000000000 +0200 @@ -13,7 +13,7 @@ VALUE "LegalCopyright", "Romain Vimont, Genymobile" VALUE "OriginalFilename", "scrcpy.exe" VALUE "ProductName", "scrcpy" - VALUE "ProductVersion", "3.3.2" + VALUE "ProductVersion", "3.3.3" END END BLOCK "VarFileInfo" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/app/src/display.c new/scrcpy-3.3.3/app/src/display.c --- old/scrcpy-3.3.2/app/src/display.c 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/app/src/display.c 2025-09-27 16:10:10.000000000 +0200 @@ -170,6 +170,7 @@ } } + av_frame_unref(display->pending.frame); int r = av_frame_ref(display->pending.frame, frame); if (r) { LOGE("Could not ref frame: %d", r); @@ -181,6 +182,11 @@ return true; } +// Forward declaration +static bool +sc_display_update_texture_internal(struct sc_display *display, + const AVFrame *frame); + static bool sc_display_apply_pending(struct sc_display *display) { if (display->pending.flags & SC_DISPLAY_PENDING_FLAG_SIZE) { @@ -196,7 +202,8 @@ if (display->pending.flags & SC_DISPLAY_PENDING_FLAG_FRAME) { assert(display->pending.frame); - bool ok = sc_display_update_texture(display, display->pending.frame); + bool ok = sc_display_update_texture_internal(display, + display->pending.frame); if (!ok) { return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/doc/build.md new/scrcpy-3.3.3/doc/build.md --- old/scrcpy-3.3.2/doc/build.md 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/doc/build.md 2025-09-27 16:10:10.000000000 +0200 @@ -233,10 +233,10 @@ #### Option 2: Use prebuilt server - - [`scrcpy-server-v3.3.2`][direct-scrcpy-server] - <sub>SHA-256: `2ee5ca0863ef440f5b7c75856bb475c5283d0a8359cb370b1c161314fd29dfd9`</sub> + - [`scrcpy-server-v3.3.3`][direct-scrcpy-server] + <sub>SHA-256: `7e70323ba7f259649dd4acce97ac4fefbae8102b2c6d91e2e7be613fd5354be0`</sub> -[direct-scrcpy-server]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-server-v3.3.2 +[direct-scrcpy-server]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-server-v3.3.3 Download the prebuilt server somewhere, and specify its path during the Meson configuration: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/doc/linux.md new/scrcpy-3.3.3/doc/linux.md --- old/scrcpy-3.3.2/doc/linux.md 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/doc/linux.md 2025-09-27 16:10:10.000000000 +0200 @@ -6,11 +6,11 @@ Download a static build of the [latest release]: - - [`scrcpy-linux-x86_64-v3.3.2.tar.gz`][direct-linux-x86_64] (x86_64) - <sub>SHA-256: `92bed0fa274b9165eb8740e07cf2e2692ebe09ad6911175b0ee42e08799dc51c`</sub> + - [`scrcpy-linux-x86_64-v3.3.3.tar.gz`][direct-linux-x86_64] (x86_64) + <sub>SHA-256: `9b30e813e8191329ba8025dc80cb0f198fb0a318960a3b5c15395cf675c9c638`</sub> [latest release]: https://github.com/Genymobile/scrcpy/releases/latest -[direct-linux-x86_64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-linux-x86_64-v3.3.2.tar.gz +[direct-linux-x86_64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-linux-x86_64-v3.3.3.tar.gz and extract it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/doc/macos.md new/scrcpy-3.3.3/doc/macos.md --- old/scrcpy-3.3.2/doc/macos.md 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/doc/macos.md 2025-09-27 16:10:10.000000000 +0200 @@ -6,15 +6,15 @@ Download a static build of the [latest release]: - - [`scrcpy-macos-aarch64-v3.3.2.tar.gz`][direct-macos-aarch64] (aarch64) - <sub>SHA-256: `a213eeff8ac95893e69c4bc6a001a402c6680dbfcb74cb353c0124184ed88e8d`</sub> + - [`scrcpy-macos-aarch64-v3.3.3.tar.gz`][direct-macos-aarch64] (aarch64) + <sub>SHA-256: `b93299468f19ae89ac70f7c1453914c41f1f2bcd31f6ab530038da885c19581f`</sub> - - [`scrcpy-macos-x86_64-v3.3.2.tar.gz`][direct-macos-x86_64] (x86_64) - <sub>SHA-256: `2a1b27fbb67821a886c7e8dea641899836c0abbe7afd37905584b99bcd21bc04`</sub> + - [`scrcpy-macos-x86_64-v3.3.3.tar.gz`][direct-macos-x86_64] (x86_64) + <sub>SHA-256: `c767fc1d41e4ae26e40558656570962f474739924fd22ee023d8754889ee4366`</sub> [latest release]: https://github.com/Genymobile/scrcpy/releases/latest -[direct-macos-aarch64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-macos-aarch64-v3.3.2.tar.gz -[direct-macos-x86_64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-macos-x86_64-v3.3.2.tar.gz +[direct-macos-aarch64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-macos-aarch64-v3.3.3.tar.gz +[direct-macos-x86_64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-macos-x86_64-v3.3.3.tar.gz and extract it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/doc/windows.md new/scrcpy-3.3.3/doc/windows.md --- old/scrcpy-3.3.2/doc/windows.md 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/doc/windows.md 2025-09-27 16:10:10.000000000 +0200 @@ -6,14 +6,14 @@ Download the [latest release]: - - [`scrcpy-win64-v3.3.2.zip`][direct-win64] (64-bit) - <sub>SHA-256: `8f7b19371657b872e271e6b02a0c758c61c6e31e032e9df55a83aa3aab960bfa`</sub> - - [`scrcpy-win32-v3.3.2.zip`][direct-win32] (32-bit) - <sub>SHA-256: `cff2bbebdcfe14a023b77cd601fc4420b5631b19bd4b09ce4dcd4e5bf8e63244`</sub> + - [`scrcpy-win64-v3.3.3.zip`][direct-win64] (64-bit) + <sub>SHA-256: `4b458d33d0436688c69875cd267cae6fa8be08aa3c17772edf3a940a3dc4b17e`</sub> + - [`scrcpy-win32-v3.3.3.zip`][direct-win32] (32-bit) + <sub>SHA-256: `e3d43e21c0bd6e070381c390c1e4cccd48a1e71ae73a8c217e6e6b8506598c79`</sub> [latest release]: https://github.com/Genymobile/scrcpy/releases/latest -[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-win64-v3.3.2.zip -[direct-win32]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-win32-v3.3.2.zip +[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-win64-v3.3.3.zip +[direct-win32]: https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-win32-v3.3.3.zip and extract it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/install_release.sh new/scrcpy-3.3.3/install_release.sh --- old/scrcpy-3.3.2/install_release.sh 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/install_release.sh 2025-09-27 16:10:10.000000000 +0200 @@ -2,8 +2,8 @@ set -e BUILDDIR=build-auto -PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/v3.3.2/scrcpy-server-v3.3.2 -PREBUILT_SERVER_SHA256=2ee5ca0863ef440f5b7c75856bb475c5283d0a8359cb370b1c161314fd29dfd9 +PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/v3.3.3/scrcpy-server-v3.3.3 +PREBUILT_SERVER_SHA256=7e70323ba7f259649dd4acce97ac4fefbae8102b2c6d91e2e7be613fd5354be0 echo "[scrcpy] Downloading prebuilt server..." wget "$PREBUILT_SERVER_URL" -O scrcpy-server diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/meson.build new/scrcpy-3.3.3/meson.build --- old/scrcpy-3.3.2/meson.build 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/meson.build 2025-09-27 16:10:10.000000000 +0200 @@ -1,5 +1,5 @@ project('scrcpy', 'c', - version: '3.3.2', + version: '3.3.3', meson_version: '>= 0.49', default_options: [ 'c_std=c11', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/server/build.gradle new/scrcpy-3.3.3/server/build.gradle --- old/scrcpy-3.3.2/server/build.gradle 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/server/build.gradle 2025-09-27 16:10:10.000000000 +0200 @@ -7,8 +7,8 @@ applicationId "com.genymobile.scrcpy" minSdkVersion 21 targetSdkVersion 35 - versionCode 30302 - versionName "3.3.2" + versionCode 30303 + versionName "3.3.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/server/build_without_gradle.sh new/scrcpy-3.3.3/server/build_without_gradle.sh --- old/scrcpy-3.3.2/server/build_without_gradle.sh 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/server/build_without_gradle.sh 2025-09-27 16:10:10.000000000 +0200 @@ -12,7 +12,7 @@ set -e SCRCPY_DEBUG=false -SCRCPY_VERSION_NAME=3.3.2 +SCRCPY_VERSION_NAME=3.3.3 PLATFORM=${ANDROID_PLATFORM:-35} BUILD_TOOLS=${ANDROID_BUILD_TOOLS:-35.0.0} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/server/src/main/aidl/android/view/IDisplayWindowListener.aidl new/scrcpy-3.3.3/server/src/main/aidl/android/view/IDisplayWindowListener.aidl --- old/scrcpy-3.3.2/server/src/main/aidl/android/view/IDisplayWindowListener.aidl 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/server/src/main/aidl/android/view/IDisplayWindowListener.aidl 2025-09-27 16:10:10.000000000 +0200 @@ -48,27 +48,4 @@ * Called when a display is removed from the hierarchy. */ void onDisplayRemoved(int displayId); - - /** - * Called when fixed rotation is started on a display. - */ - void onFixedRotationStarted(int displayId, int newRotation); - - /** - * Called when the previous fixed rotation on a display is finished. - */ - void onFixedRotationFinished(int displayId); - - /** - * Called when the keep clear ares on a display have changed. - */ - void onKeepClearAreasChanged(int displayId, in List<Rect> restricted, in List<Rect> unrestricted); - - /** - * Called when the eligibility of the desktop mode for a display have changed. - */ - void onDesktopModeEligibleChanged(int displayId); - - void onDisplayAddSystemDecorations(int displayId); - void onDisplayRemoveSystemDecorations(int displayId); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/server/src/main/java/com/genymobile/scrcpy/video/NewDisplayCapture.java new/scrcpy-3.3.3/server/src/main/java/com/genymobile/scrcpy/video/NewDisplayCapture.java --- old/scrcpy-3.3.2/server/src/main/java/com/genymobile/scrcpy/video/NewDisplayCapture.java 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/server/src/main/java/com/genymobile/scrcpy/video/NewDisplayCapture.java 2025-09-27 16:10:10.000000000 +0200 @@ -25,6 +25,7 @@ // Internal fields copied from android.hardware.display.DisplayManager private static final int VIRTUAL_DISPLAY_FLAG_PUBLIC = android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC; + private static final int VIRTUAL_DISPLAY_FLAG_PRESENTATION = android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION; private static final int VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY = android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY; private static final int VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH = 1 << 6; private static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 1 << 7; @@ -169,6 +170,7 @@ int virtualDisplayId; try { int flags = VIRTUAL_DISPLAY_FLAG_PUBLIC + | VIRTUAL_DISPLAY_FLAG_PRESENTATION | VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH | VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scrcpy-3.3.2/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayWindowListener.java new/scrcpy-3.3.3/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayWindowListener.java --- old/scrcpy-3.3.2/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayWindowListener.java 2025-09-06 14:54:36.000000000 +0200 +++ new/scrcpy-3.3.3/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayWindowListener.java 2025-09-27 16:10:10.000000000 +0200 @@ -1,11 +1,12 @@ package com.genymobile.scrcpy.wrappers; +import com.genymobile.scrcpy.util.Ln; + import android.content.res.Configuration; -import android.graphics.Rect; +import android.os.Parcel; +import android.os.RemoteException; import android.view.IDisplayWindowListener; -import java.util.List; - public class DisplayWindowListener extends IDisplayWindowListener.Stub { @Override public void onDisplayAdded(int displayId) { @@ -23,32 +24,14 @@ } @Override - public void onFixedRotationStarted(int displayId, int newRotation) { - // empty default implementation - } - - @Override - public void onFixedRotationFinished(int displayId) { - // empty default implementation - } - - @Override - public void onKeepClearAreasChanged(int displayId, List<Rect> restricted, List<Rect> unrestricted) { - // empty default implementation - } - - @Override - public void onDesktopModeEligibleChanged(int displayId) { - // empty default implementation - } - - @Override - public void onDisplayAddSystemDecorations(int displayId) { - // empty default implementation - } - - @Override - public void onDisplayRemoveSystemDecorations(int displayId) { - // empty default implementation + public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException { + try { + return super.onTransact(code, data, reply, flags); + } catch (AbstractMethodError e) { + Ln.v("Ignoring AbstractMethodError: " + e.getMessage()); + // Ignore unknown methods, write default response to reply parcel + reply.writeNoException(); + return true; + } } }
