From 67eab0f46d990cba1de3204de041cc5b9f3aee3c433a189bc0027dfdef7bdc55 Mon Sep 17 00:00:00 2001 From: Paolo Panto Date: Fri, 2 Aug 2024 02:58:31 +0000 Subject: [PATCH] Accepting request 1191066 from home:munix9 - Update to version 2.6: * Add audio playback capture method (#4380, #5102) * Add audio duplication feature (#3875, #4380, #5102) * Add mouse secondary bindings with Shift+click (#5055, #5076) * Rework mouse events (#5067, #5076) * Fix "turn screen off" for Honor devices (#4823, #4943, #5109) * Add clipboard workaround for Honor devices (#4822, #5073) * Always apply device workarounds (#4922, #5140, #5148, #5154) * Fix missing initialization (#5057, #5058) * Do not report error on device disconnected (#5044) * Upgrade SDL to 2.30.5 in Windows releases * Various technical fixes OBS-URL: https://build.opensuse.org/request/show/1191066 OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=89 --- .gitattributes | 26 + .gitignore | 1 + scrcpy-2.5.tar.gz | 3 + scrcpy-2.6.tar.gz | 3 + scrcpy-server-v2.5 | 3 + scrcpy-server-v2.6 | 3 + scrcpy.changes | 1939 ++++++++++++++++++++++++++++++++++++++++++++ scrcpy.spec | 103 +++ 8 files changed, 2081 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 scrcpy-2.5.tar.gz create mode 100644 scrcpy-2.6.tar.gz create mode 100644 scrcpy-server-v2.5 create mode 100644 scrcpy-server-v2.6 create mode 100644 scrcpy.changes create mode 100644 scrcpy.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e5a8cc0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,26 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +## Specific LFS patterns +scrcpy-server-v2.5 filter=lfs diff=lfs merge=lfs -text +scrcpy-server-v2.6 filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/scrcpy-2.5.tar.gz b/scrcpy-2.5.tar.gz new file mode 100644 index 0000000..248e4ac --- /dev/null +++ b/scrcpy-2.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a29ac5171dd81c250337d9b0500f1edbaf01044645b35f8993a191ffbb8597f +size 415854 diff --git a/scrcpy-2.6.tar.gz b/scrcpy-2.6.tar.gz new file mode 100644 index 0000000..d0f1b42 --- /dev/null +++ b/scrcpy-2.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d13ff4149d2ee0b40099348a57fa6d16e3fdebe7f6168f02f65ea9b3ceb337c1 +size 419604 diff --git a/scrcpy-server-v2.5 b/scrcpy-server-v2.5 new file mode 100644 index 0000000..3cc0612 --- /dev/null +++ b/scrcpy-server-v2.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1488b1105d6aff534873a26bf610cd2aea06ee867dd7a4d9c6bb2c091396eb15 +size 69624 diff --git a/scrcpy-server-v2.6 b/scrcpy-server-v2.6 new file mode 100644 index 0000000..c8f02e3 --- /dev/null +++ b/scrcpy-server-v2.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b723ff79a27f14e6ebaaaae7ef9548c40651c94e64d178612b13adf7158eb2e +size 71084 diff --git a/scrcpy.changes b/scrcpy.changes new file mode 100644 index 0000000..6955810 --- /dev/null +++ b/scrcpy.changes @@ -0,0 +1,1939 @@ +------------------------------------------------------------------- +Thu Aug 1 17:31:56 UTC 2024 - munix9@googlemail.com + +- Update to version 2.6: + * Add audio playback capture method (#4380, #5102) + * Add audio duplication feature (#3875, #4380, #5102) + * Add mouse secondary bindings with Shift+click (#5055, #5076) + * Rework mouse events (#5067, #5076) + * Fix "turn screen off" for Honor devices (#4823, #4943, #5109) + * Add clipboard workaround for Honor devices (#4822, #5073) + * Always apply device workarounds (#4922, #5140, #5148, #5154) + * Fix missing initialization (#5057, #5058) + * Do not report error on device disconnected (#5044) + * Upgrade SDL to 2.30.5 in Windows releases + * Various technical fixes + +------------------------------------------------------------------- +Sat Jun 29 16:35:04 UTC 2024 - munix9@googlemail.com + +- Update to version 2.5: + * Add scrcpy window without video playback (#4727, #4793, #4868) + * Add a shortcut to pause/unpause display (#1632, #4748) + * Forward mouse hover events (#2743, #3070, #5039) + * Add option to configure mouse bindings (#5022) + * Forward all clicks by default for UHID/AOA (#5022) + * Simplify shortcut modifiers (#4741) + * Fix rotation shortcut for Android 14 (#4740, #4841) + * Fix YUV conversion for full color range (#4756) + * Fix camera sizes listing on some devices (#4852) + * Fix thread leak on Windows (#4973) + * Upgrade FFmpeg to 7.0.1 in Windows releases + * Upgrade SDL to 2.30.4 in Windows releases + * Upgrade platform-tools (adb) to 35.0.0 in Windows releases + * Various technical fixes + +------------------------------------------------------------------- +Sun Mar 3 09:22:57 UTC 2024 - Martin Hauke + +- Update to version 2.4 + * Add UHID keyboard and mouse support. + * Simulate tilt multitouch by pressing Shift. + * Add rotation support for non-default display. + * Improve audio player. + * Adapt to display API changes in Android 15. + * Adapt audio workarounds to Android 14. + * Fix clipboard for IQOO devices on Android 14. + * Fix integer overflow for audio packet duration. + * Various technical fixes. + +------------------------------------------------------------------- +Sat Dec 2 11:56:54 UTC 2023 - munix9@googlemail.com + +- Update to version 2.3.1: + * Add workaround for issues on Samsung devices (#4467) + * Fix error in a headless environment without display (#4477) + * Fix AV1 demuxing (#4487) + * Fix build issue on macOS (4135c41) + +------------------------------------------------------------------- +Sun Nov 26 06:14:25 UTC 2023 - munix9@googlemail.com + +- Update to version 2.3: + * Add flipped display orientation (#1380, #3819, #4441) + * Add recording rotation (#4441) + * Add FLAC audio codec (#4410) + * Add raw audio (WAV) recording (2004881) + * Fix turn screen off for Android 14 (#3927, #4456) + * Fix camera issues on many devices (#4392) + * Fix clipboard synchronization when no video (#4418) + * Fix screen refresh on device rotation (7e3b935) + * Fix .desktop files on Linux (#4448) + * Upgrade SDL to 2.28.5 in Windows releases + * Various technical fixes + +------------------------------------------------------------------- +Thu Nov 2 19:18:01 UTC 2023 - munix9@googlemail.com + +- Clean up spec file, don't use _service anymore, get files + and infos from github release page. + +- Extended description for release 2.2: + Changes since v2.1.1: + * Add option to mirror camera (#241, #4213) + * Add --pause-on-exit (#4130) + * Rename --display (deprecated) to --display-id + * Fix device disconnection detection with --no-video (#4207) + * Accept --turn-screen-off without video playback (#4175) + * Upgrade SDL to 2.28.4 in Windows releases + * Upgrade platform-tools to 34.0.5 (adb) in Windows releases + * Various technical fixes + +------------------------------------------------------------------- +Wed Nov 01 18:30:29 UTC 2023 - munix9@googlemail.com + +- Update to version 2.2: + * Bump version to v2.2 + * Upgrade SDL (2.28.4) for Windows + * Upgrade platform-tools (34.0.5) for Windows + * Shutdown connection before joining threads + * Disable default stdout/stderr + * Improve manpage formatting + * Simplify URLs in manpage + * Always print device model and version + * Add camera documentation + * Add support for high frame rate camera capture + * Add --camera-fps + * Do not arbitrary limit --max-fps to 1000 + * Fail-fast camera mirroring on Android 11 and older + * Support camera size selection using -m/--camera-ar + * Add --camera-facing + * Make camera id optional + * Handle camera disconnection + * Automatically select audio source + * Add camera mirroring + * Add --list-camera-sizes + * Add --list-cameras + * Factorize --list- options handling + * Extract SurfaceCapture from ScreenEncoder + * Force server exit at the end of main() + * Rename --display to --display-id + * Make separator configurable for parsing integers + * Fix incorrect comment about AV1 constant + * Move empty string test for crop option parsing + * Replace raw number by its name + * Replace sprintf() with safer snprintf() + * Use `char *` for pointer arithmetic + * Enable missing-prototypes warning + * Declare local functions as static + * Wrap macros in do-while(0) + * Fix --pause-on-exit parsing + * Add missing `void`s for empty parameter list + * Make sc_usb_devices_destroy() static + * Remove redundant `;` + * Use `void` for empty function parameter list + * Add scrcpy-server to .gitignore + * Use --pause-on-exit from launchers + * Add --pause-on-exit + * Make fillBaseContext() method private + * Add missing 'final' in Java classes + * Fix warning typo + * Report device disconnection on audio EOS + * Do not disable controls without video playback + * Fix TCP/IP link in README + * Add missing syntax highlighting in audio doc + * Add Encoder section + * Extract device connection to a separate doc page + * Move display section to video documentation + * Update links to v2.1.1 + +------------------------------------------------------------------- +Sat Jul 15 06:07:48 UTC 2023 - munix9@googlemail.com + +- Update to version 2.1.1: + * Bump version to 2.1.1 + * Fix meizu deadlock + * Increase attempts to start AudioRecord + * Log device selection at INFO level + * Fix fedora package in build instructions + * Fix possible division by zero + * Add direct links to donations + * Ignore fold change events for other display ids + * Remove superfluous log + * Update links to v2.1 + +------------------------------------------------------------------- +Thu Jun 22 15:01:04 UTC 2023 - munix9@googlemail.com + +- Update to version 2.1: + * Bump version to 2.1 + * Fix adb forward initialization + * Fix code style + * Accept failure in rotation or fold registration + * Register DisplayFoldListener only for Android 10+ + * Upgrade platform-tools (34.0.3) for Windows + * Update developer documentation + * Fix build without gradle + * Upgrade SDL (2.28.0) for Windows + * Add workarounds for Honor devices + * Move workarounds execution + * Log device BRAND + * Fix lint warning + * Add InputManagerGlobal for Android 14 beta 3 + * Add --time-limit + * Improve recording documentation + * Rename raw_video_stream to raw_stream + * Remove spurious empty line + * Reformat Java code + * Name Java threads + * Add missing shortcut in documentation + * Add option to kill adb on close + * Fix adb server vs adb daemon confusion + * Fix options alphabetical order + * Simplify command in documentation + * Fix typo in recording documentation + * Fix PTS when not monotonically increasing + * Extract stream-specific structure in recorder + * Fix recorder waiting when stream disabled + * Use a single condvar in recorder + * Mention how to interrupt scrcpy without video + * Reorder options in alphabetical order + * Add option to select audio source + * Extract AudioCapture creation + * Reset video capture on folding event + * Rename rotationChanged to resetCapture + * Update demuxer comment + * Fix stream offset on audio buffer underflow + * Reorder options to maintain alphabetical order + * Turn device screen off after set up + * Document --no-{video,audio}-playback + * Add separate video and audio playback options + * Simplify V4L2/USB ifdefs + * Define v4l2_buffer only if HAVE_V4L2 + * Fix V4L2 error message when disabled + * Reorder command line options checks + * Rename --no-mirror to --no-playback + * Create AudioRecord by reflection as a fallback + * Rename FORMAT to ENCODING + * Extract audio source to a static constant + * Delay window resize when minimized + * Accept texture failures + * Document installation via winget on Windows + * Upgrade FFmpeg build to 6.0-scrcpy-4 + * Update audio recording documentation + * Upgrade FFmpeg build to 6.0-scrcpy-3 + * Add recording to aac file + * Add recording to opus file + * Accept .m4a and .mka + * Refactor command line checks + * Factorize record format parsing + * Add --no-video + * Remove unnecessary 'else' + * Convert screen encoder to async processor + * Add missing @Override annotations + * Close connection at the end of finally-block + * Disable controls on --no-mirror + * Rename --no-display to --no-mirror + * Clarify API versions that support Audio Forwarding + * Fix build for FFmpeg < 3.3 + * Force OpenGL Core Profile context on macOS + * Add missing --no-audio option in manpage + * Remove Options setters + * Move options parsing to Options class + * Fix checkstyle violation + * Extract sc_display from sc_screen + * Pass const pointers to events + * Add Android version check in raw audio recorder + * Fix "ip route" parsing + * Fix copy-paste for some devices + * Specify in README that OTG does not require adb + * Simplify clock estimation + * Fix documentation link in FAQ + * Fix typo in FAQ + * Fix debug build by adding compat.c to tests + * Mention necessary reboot + * Reference FAQ from HID/OTG documentation + * Adapt FakeContext for Android 14 + * Adapt clipboard wrappers to Android 14 + * Replace "bit-rate" with "bit rate" + * Fix typo in doc/audio.md + * Use separate audio capture code for Android 11 + * Make 3 attempts to start AudioRecord + * List available encoders on failure + * Fix pause message + * Simplify logic in setScreenPowerMode() + * Clarify V4L2 feature in README + * Document missing Opus encoder error + * Add --audio-output-buffer + * Fix bash auto-completion handling + * Add missing auto-completion for --audio-buffer + * Split workarounds to fix audio on some devices + * Fix linux desktop files validation + * Update Gentoo instructions + * Fail on empty AudioRecord read() + * Update broken link in documentation + * Replace link to enable USB debugging in README + * Add references to prerequisites + * Add blogpost link about scrcpy 2.0 + * Fix v4l2 sink + * Fix build issue on FFmpeg < 5.1 + * Fix comparison warning + * Fix an "expected expression" error + * Fix broken link in Windows download page + * Fix broken link in shortcuts documentation + * Update links to v2.0 + +------------------------------------------------------------------- +Sun Mar 12 06:41:21 UTC 2023 - munix9@googlemail.com + +- Update to version 2.0: + * Bump version to 2.0 + * Rework README and documentation + * Happy new year 2023! + * Document audio player + * Apply new compensation only if it changed + * Disable clock drift compensation for tiny values + * Fail on deprecated options + * Remove dead code about the deprecated -F option + * Remove deprecated option --render-expired-frames + * Upgrade platform-tools (34.0.1) for Windows + * Upgrade SDL (2.26.4) for Windows + * Remove unused IOException + * Compute buffering and compensation without lock + * Do not read avg_buffering from the player thread + * Simplify bytebuf naming + * Add audio sample ring-buffer + * Define the audio output buffer in milliseconds + * Pass video size as codec metadata + * Report errors on screen event error + * Rename sendCodecId to sendCodecMeta + * Copy codec parameters from context + * Simplify recorder + * Create recorder streams from packet sinks ops + * Pass AVCodecContext to packet sinks + * Enable log signaling buffering threshold exceeded + * Stop and join sc_file_pusher only if initialized + * Initialize interrupted field explicitly + * Decrease recorder thread priority + * Increase audio thread priority + * Add thread priority API + * Print info logs to stdout + * Print server logs and newline in one call + * Warn on ignored audio options + * Add --audio-codec=raw option + * Add raw audio recorder + * Extract async processor interface + * Extract audio capture + * Stop on decoder frame push error + * Add --audio-buffer + * Add compat support for FFmpeg < 5.1 + * Add audio player + * Optionally do not delay the first frame + * Accept clock estimation with a single point + * Remove anonymous struct in delay buffer + * Use delay buffer as a frame source/sink + * Use frame source trait in decoder + * Introduce frame source trait + * Use packet source trait in demuxer + * Introduce packet source trait + * Extract sc_delay_buffer + * Fix buffering pts conversion + * Report video buffer downstream errors + * Stop the video buffer on error + * Fix possible race condition on video_buffer end + * Remove sc_queue + * Remove cbuf + * Use VecDeque in aoa_hid + * Use VecDeque in file_pusher + * Use VecDeque in controller + * Use VecDeque in video_buffer + * Use VecDeque in recorder + * Introduce VecDeque + * Add sc_allocarray() util + * Use reallocarray() in sc_vector + * Add compat for reallocarray() + * Call avcodec_receive_frame() in a loop + * Add --require-audio + * Add workaround to capture audio on Android 11 + * Add two-step write feature to bytebuf + * Introduce bytebuf util + * Pass AVCodecContext to frame sinks + * Add an audio decoder + * Give a name to decoder instances + * Rename decoder to video_decoder + * Log display sizes in display list + * Add --list-displays + * Move log message helpers to LogUtils + * Quit on audio configuration failure + * Add --list-encoders + * Move await_for_server() logs + * Add --audio-encoder + * Extract unknown encoder error message + * Add --audio-codec-options + * Extract application of codec options + * Add support for AAC audio codec + * Add --audio-codec + * Add --audio-bit-rate + * Disable MethodLength checkstyle on createOptions() + * Rename --encoder to --video-encoder + * Rename --codec-options to --video-codec-options + * Rename --bit-rate to --video-bit-rate + * Rename --codec to --video-codec + * Remove default bit-rate on client side + * Record at least video packets on stop + * Disable audio before Android 11 + * Disable audio on initialization error + * Add audio recording support + * Rename video-specific variables in recorder + * Do not merge config audio packets + * Add an audio demuxer + * Force --no-audio if no display and no recording + * Give a name to demuxer instances + * Rename demuxer to video_demuxer + * Extract OPUS extradata + * Use a streamer to send the audio stream + * Encode recorded audio on the device + * Make streamer more generic + * Capture device audio + * Add a new socket for audio stream + * Add --no-audio option + * Use FakeContext for Application instance + * Use shell package name for workarounds + * Use ROOT_UID from FakeContext + * Use PACKAGE_NAME from FakeContext + * Use AttributionSource from FakeContext + * Add a fake Android Context + * Improve error message for unknown encoder + * Rename "codec" variable to "mediaCodec" + * Make streamer independent of codec type + * Pass all args to ScreenEncoder constructor + * Move screen encoder initialization + * Write streamer header from ScreenEncoder + * Use VideoStreamer directly from ScreenEncoder + * Simplify error handling on socket creation + * Reorder initialization + * Refactor recorder logic + * Move last packet recording + * Add start() function for recorder + * Open recording file from the recorder thread + * Inline packet_sink impl in recorder + * Initialize recorder fields from init() + * Report recorder errors + * Move previous packet to a local variable + * Move pts_origin to a local variable + * Change PTS origin type from uint64_t to int64_t + * Fix --encoder documentation + * Do not print stacktraces when unnecessary + * Fix --no-clipboard-autosync bash completion + * Split server stop() and join() + * Print FFmpeg logs + * Move FFmpeg callback initialization + * Upgrade FFmpeg custom builds for Windows + * Upgrade FFmpeg (6.0) for Windows + * Use minimal prebuilt FFmpeg for Windows + * Simplify libusb prebuilt scripts + * Silence lint warning about constant in API 29 + * Remove manifest package name + * Upgrade gradle build tools to 7.4.0 + * Fix useless garbage initialization + * Fix MIN/MAX macros + * Initialize server->serial in all cases + * Fix error message on icon loading failure + * Do not use avformat network + * Accept Windows Sockets from version 1.1 + * Fix WSAStartup() error check on Windows + * Fix --bit-rate option in bash completion script + * Add auto-completion for --codec option + * Use enum for long options constants + * Initialize mouse_input_mode explicitly + * Accept muxing AV1 into MP4 container + * Fix inconsistent quotes + * Suggest commands with an explicit '=' + * Move finally-block to fix deadlock on stop + * Remove unnecessary error logs + * Document default video codec + * Fix command-line help typo + * Prefix receiver by sc_ + * Fix demuxer error message + * Log non-EPIPE I/O exceptions + * Rename 'uid' to 'scid' + * Extract packet merging + * Remove unused parser + * Log component stopped in finally clause + * Join all threads before end of main + * Properly report demuxer errors + * Prefix UI events constants by SC_ + * Split codec_id reading + * Fix error return value + * Fix demuxer error message + * Remove unused codec context + * Remove unused constant + * Add Fedora instructions in README + * Set power mode on all physical displays + * Add support for AV1 + * Add support for H265 + * Add option to select video codec + * Simplify server info initialization + * Extract video streaming to a separate class + * Move variable assignment + * Compute relative PTS on the client-side + * Improve workarounds call comments + * Move Workarounds call + * Do not expose controller threads + * Fix manpage formatting + * Inject additional ACTION_BUTTON_* events for mouse + * Fix mouse pointer state update + * Forward action button to device + * Retry on spurious error + * Extract retry handling + * Move local variables declarations + * Remove useless setSize() method + * Remove useless configure() method + * Keep the same MediaCodec instance across sessions + * Remove useless destroyDisplay() method + * Keep the same display binder across sessions + * Terminate loop explicitly on interrupted + * Use Java lambdas where possible + * Support Java lambdas in build_without_gradle.sh + * Add missing final modifiers + * Use try-with-resources + * Use random name for device socket + * Add random util + * Add jrand48()/nrand48() compat functions + * Use separate gen dir to build without gradle + * Remove "on Linux" in FAQ + * Add FAQ section about HID/OTG on Windows + * Avoid unnecessary copy on config packets demuxing + * Revert "Remove continuous resizing workaround for Windows" + * Use "meson setup" from install_release.sh + * Update links to v1.25 + +------------------------------------------------------------------- +Fri Dec 23 17:47:47 UTC 2022 - munix9@googlemail.com + +- Update to version 1.25: + * Bump version to 1.25 + * Upgrade FFmpeg (5.1.2) for Windows 64-bit + * Upgrade SDL (2.26.1) for Windows + * Upgrade platform-tools (33.0.3) for Windows + * Force mouse source when --forward-all-clicks + * Remove continuous resizing workaround for Windows + * Add parent directory in release zipfile + * Use "meson setup" + * Adapt ClipboardManager for Android 13 + * Upgrade junit to 4.13.2 + * Use current adb port (if any) for --tcpip + * Fix CommandParserTest code style + * Always use --key=value in README + * Fix DisplayInfo parsing for Android Q + * Support wchar_t in argv for Windows + * Avoid string concatenation in crossfiles + * Build log.c for test_cli + * Add missing include for strlen() + * Add missing include for memmove() + * Add -s auto-completion for zsh + * Add -s auto-completion for bash + * Make ServiceManager and Settings methods static + * Fix typo in logs + * Add fallback to get DisplayInfo + * Use /dev/null instead of closing fds + * Extract $BUILD_TOOLS_DIR + * Add scrcpy-console.desktop + * Use shell environment to execute launcher + * Add desktop entry file for Linux app launchers + * Replace hardcoded 'share/' by datadir variable + * Upgrade Android SDK to 33 + * Upgrade gradle build tools to 7.2.2 + * Move from jcenter() to mavenCentral() + * Use precise scrolling values + * Add conversion from float to fixed-point i16 + * Add unit test for float encoding + * Extract conversion from float to u16 fixed-point + * Rename buffer_util.h to binary.h + * Add unit test for float decoding + * Extract conversion from u16 fixed-point to float + * Move toUnsigned() to a Binary util class + * Remove deprecated meson.source_root() + * Move README and FAQ translations to the wiki + * Fix FAQ formatting + * Use DisplayManagerGlobal instance + * Rename net_listen() parameter + * Replace '%g' by '%f' as printf format + * Detect Windows using _WIN32 in network util + * Fix protocol documentation in comments + * Add missing allocation failure check + * Add missing LOG_OOM() on malloc failure + * Remove useless dependencies reference + * Document envvars for all platforms + * Fix environment variable configuration in FAQ + * Remove unused stream.h + * Rename function to simplify + * Add missing return 0 in tests + * Fix function declarations + * Reduce SHA-256 size in README and BUILD + * Update links to v1.24 + +------------------------------------------------------------------- +Sat Apr 30 13:14:23 UTC 2022 - munix9@googlemail.com + +- Update to version 1.24: + * Bump version to 1.24 + * Revert "Make OTG window resizable" + * Fix inverted check + * Fix release script for platform-tools 33.0.1 + * Use quotes for commands in documentation + * Update installed files list in BUILD documentation + * Upgrade FFmpeg (5.0.1) for Windows 64-bit + * Upgrade SDL (2.0.22) for Windows + * Enable linear filtering in OTG mode + * Make OTG window resizable + * Apply requested window size in OTG mode + * Create OTG window with HIGHDPI flag + * Add option to not power on on start + * Add missing mouse shortcuts in --help + * Fix GitHub case in BUILD + * Fix typo in German README + * Fix typos in Indonesian README + * Upgrade libusb (1.0.26) for Windows + * Upgrade platform-tools (33.0.1) for Windows + * Remove obsolete alternative injection method + * Adapt event injection to Android 13 + * Improve README + * Fix typos/grammar issues in README + * Update README.it.md to v1.23 + * Add missing SC_ prefix to header guards + * Add missing include + * Fix reference to FAQ in README + * Fix icon path in ./run + * Fix OpenGL ES prefix skip + * Improve README.zh-Hans.md + * Consider emulators as TCP/IP devices + * Log an error on unexpected device state + * Use $ANDROID_SERIAL if no selector is specified + * Document exit status in --help + * Add specific exit code for device disconnection + * Report server connection state + * Improve HID event push error message + * Fix typo in error message + * Add libusb error log + * Fix icon path in README + * Update links to v1.23 + +------------------------------------------------------------------- +Thu Mar 17 08:59:49 UTC 2022 - munix9@googlemail.com + +- Update to version 1.23: + * Bump version to 1.23 + * Add missing include for vector + * Add contact links to the README + * Add Bash completion script + * Add ZSH completion script + * Move "Device unauthorized" in FAQ + * Update FAQ to match the latest version + * Remove spurious empty line + * Mention adb wireless option for Android 11+ + * Make step more explicit in wireless section + * Add troubleshooting in wireless section + * Improve phrasing in wireless section + * Renumber steps in wireless section + * Add an explicit first step in wireless section + * Update HID/OTG features in README + * Reorder --tcpip option in cli + * Also retry on IllegalArgumentException + * Increase `adb devices -l` max output size + * Use vector for listing ADB devices + * Use vector for listing USB devices + * Add sc_vector + * Move data/ to app/ + * Disable USB features for win32 + * Forbid HID input without OTG on Windows + * Kill adb daemon in OTG mode on Windows + * Make intr optional for adb commands + * Remove obsolete text in error message + * Build for Windows with libusb support + * Fix libusb callback for Windows + * Avoid PRIx16 printf format on Windows + * Remove USB hotplug callback error log + * Report USB device disconnection when detected + * Work around mouse capture SDL bug on macOS + * Pass screen instance to mouse capture functions + * Remove "linux-only" mentions for HID/OTG features + * Build on macOS with libusb support + * Fix typo + * Remove useless '\n' in log + * Remove fprintf() in tests + * Add --print-fps to enable FPS counter on start + * Move FPS counter start/stop logs + * Update FAQ about Windows scaling behavior + * Use sc_prefix for fps counter + * Fix links in German README + * Enforce deadline reached on timeout + * Fix fps_counter tick type + * Add German translation of README.md + * Add --no-cleanup option + * Fix order of options + * Add compilation flag for USB features + * Add compilation flag for V4L2 feature + * Fix double adb tunnel closing + * Rename buffer util functions with sc_ prefix + * Rename HEADER_SIZE to SC_PACKET_HEADER_SIZE + * Remove unused BUFSIZE + * Remove sc_demuxer_parse() + * Pass key frame flag from the device + * Store packet flags in PTS most significant bits + * Indent ifdef for clarity + * Improve error message for unsupported usb hotplug + * Do not duplicate relative mouse mode state + * Fix USB device leak on connection error + * Move prebuilt-deps/ to app/ + * Reorder release.mk recipes + * Pass --buildtype=release as a single meson arg + * Print libusb version on --version + * Print both compiled and linked versions of libs + * Move version handling to a separate file + * Log device opening errors during listing + * Mention --select-usb and --select-tcpip in README + * Add option to select USB or TCP/IP devices + * Introduce adb device selector + * Execute adb start-server + * Remove sc_adb_get_serialno() + * Allow selecting a device from IP without port + * Expose simple API to select a single adb device + * Expose function to test if a serial is TCP/IP + * Add adb devices parser + * Refactor device configuration + * List and select USB devices separately + * Expose simple API to select a single USB device + * Add move-function for sc_usb_device + * Move SC_PRIsizet to compat.h + * Rename function to destroy a list of USB devices + * Add generic LOG() macro with level parameter + * Remove LOGC() + * Improve USB device open log + * Inline USB device opening + * Remove log_libusb_error() + * Remove confusing sc_str_truncate() + * Fix adb connect parsing + * Fix adb get-serialno parsing + * Fix adb getprop parsing + * Fix adb device ip parsing + * Store actual serial in sc_server + * Simplify switch to TCPIP function + * Build adb argv statically + * Expose adb executable path publicly + * Rename adb_command to adb_executable + * Assert non-NULL serial + * Assert "adb disconnect" is called with an argument + * Remove useless undef + * Remove screensaver log + * Remove platform-tools installation suggestion + * Use sc_ prefix for adb + * Move ADB code to adb/ + * Simplify demuxer + * Rename stream to sc_demuxer + * Use sc_ prefix for recorder + * Use sc_ prefix for decoder + * Add missing spaces in help + * Downscale and retry also on early MediaCodec error + * Fix include for standard library header + * Add warning in function documentation + * Fix sc_str_truncate() documentation + * Fix comment typo + * Update FAQ.zh-Hans.md to v1.22 + * Update README.zh-Hans.md to v1.22 + * Update links to v1.22 + +------------------------------------------------------------------- +Tue Jan 11 11:12:11 UTC 2022 - alarrosa@suse.com + +- Update to version 1.21: + * Bump version to 1.21 + * Clarify TCP/IP mode in README + * Always synchronize clipboard on explicit COPY/CUT + * Expose sync mode for injecting events + * Move acknowledgment handling + * Fix set_clipboard message log + * Upgrade gradle build tools to 7.0.3 + * Add --raw-key-events + * Use enum for key injection mode + * Use static maps to convert input events + * Fix code style in keyboard_inject + * Improve HID keyboard documentation + * Document --tcpip in README + * Add --tcpip feature + * Extract interruptible sleep for server + * Add function to read an adb property + * Add function to switch device to TCP/IP mode + * Add function to find the device IP address + * Add util function to remove trailing '\r' + * Add util function to locate a column in a string + * Workaround "adb connect" error detection + * Add adb connect and disconnect + * Add adb flag to disable execution error logs + * Use flags for adb commands + * Expose flags for process execution + * Remove obsolete precision in README + * Simplify Windows process inheritance configuration + * Remove intermediate static functions from adb.c + * Set CLOEXEC flag on sockets + * Check process success locally for adb commands + * Extract command argv building + * Use unsigned for connection attempts count + * Reorder cli sanity checks + * Fix adb get-serialno error handling + * Add OutOfMemory log helper + * Remove unreachable return statements + * Add missing return on file_handler failure + * Add missing includes + * Make lockVideoOrientation option name uniform + * Do not pass default values to the server + * Pass server parameters as key=value pairs + * Allocate and format server command args + * Parse codec options early + * Remove local "serial" variable + * Add (v)asprintf compatibility functions + * Move check_functions in meson script + * Add missing includes in compat implementation + * Define common feature test macros for all systems + * Add option to disable clipboard autosync + * Wait SET_CLIPBOARD ack before Ctrl+v via HID + * Move PRIu64 Windows workaround to compat.h + * Make the device acknowledge device clipboard + * Add device clipboard set acknowledgement + * Add sequence number to set_clipboard request + * Add acksync helper to wait for acks + * Explicitly indicate when device clipboard is set + * Do not inject Ctrl+v if clipboard sync failed + * Synchronize computer-to-device empty clipboard + * Use UINT64_C macro for uint64_t constant in tests + * Document remote ADB server in README + * Force adb forward if tunnel host/port is provided + * Add options to configure tunnel host and port + * Add function to parse IPv4 addresses + * Configure feature test macros in meson + * Add missing include config.h + * Improve SSH tunnel documentation in README + * Print scrcpy header first + * Print help to stdout + * Assert that long options are correctly set + * Simplify adb_tunnel + * Privatize low-level adb functions + * Use new user-friendly adb API + * Expose new user-friendly adb functions + * Rename adb functions to adb_exec_* + * Use sc_intr in file_handler + * Simplify file_handler + * Improve file_handler readability + * Simplify adb_execute_p() + * Make "adb get-serialno" interruptible + * Add interruptible function to read from pipe + * Simplify sc_str_truncate() + * Generalize string trunctation util function + * Expose util function to truncate first line + * Assume non-NULL serial in file_handler + * Always retrieve device serial + * Add missing error handling + * Close process on check success + * Configure init and cleanup asynchronously + * Do not quit on cleanup configuration failure + * Move init and cleanup to a separate method + * Read/write settings via command on Android >= 12 + * Add throwable parameter to Log.w() + * Report settings errors via Exceptions + * Wrap settings management into a Settings class + * Update Simplified Chinese README to 1.20 + * Fix wrong package to install for Ubuntu/Debian + * Inherit only specific handles on Windows + * Factorize resource release after CreateProcess() + * Remove useless assignments on error + * Fix Windows sc_pipe function names + * Stop connection attempts if interrupted + * Fix compilation errors with old SDL versions + * Update links to v1.20 + * Bump version to 1.20 + * Update script to build without gradle to SDK 31 + * Extract ANDROID_JAR path in build script + * Fix word order in README + * Mention crash on Android 12 on old scrcpy in FAQ + * Adapt icon in README + * Replace "connected on" to "connected via" + * Improve scrcpy presentation in README + * Increase delay to inject HID on Ctrl+v + * Use sc_ prefix for server + * Move str_util to str + * Improve string util API + * Rename SC_INVALID_SOCKET to SC_SOCKET_NONE + * Extract adb tunnel to a separate component + * Move IPV4_LOCALHOST to net.h + * Interrupt on process terminated + * Make server interruptible + * Add interruptor utilities + * Introduce interruptor tool + * Run the server from a dedicated thread + * Wait using a condition variable in server + * Reorder server functions + * Copy server params + * Reorder server and server_params + * Split socket creation and connect/listen + * Set video and control sockets only on success + * Initialize tunnel_enabled flag internally + * Introduce process observer + * Improve process API + * Factorize common impl of process_execute() + * Remove duplicate function declaration + * Improve file API + * Move functions from process to file + * Make screen_render() static + * Upgrade junit to 4.13.1 + * Adapt help to terminal size + * Add util function to get terminal size + * Generate getopt params from option structures + * Structure shortcuts help + * Structure command line options help + * Add line wrapper + * Add string buffer util + * Remove deprecated -T option + * Remove deprecated -c option + * Document --power-off-on-close + * Mention drag & drop for non-APK files in help + * Mention drag & drop APK in README + * Remove extra space in README + * Fix typos in help + * Add missing include "common.h" + * Wrap device name and size in a struct + * Update README.jp.md to v1.19 + * Remove unnecessary variable + * Disable synthetic mouse events from touch events + * Split SDL initialization + * Move SDL initialization + * Set SDL hints before initialization + * Extract SDL hints + * Factorize SDL event push + * Handle SDL_PushEvent() errors + * Use sc_ prefix for size, position and point + * Upgrade gradle build tools to 7.0.2 + * Upgrade Android checkstyle to 9.0.1 + * Upgrade Android SDK to 31 + * Fix typo in clock comments + * Define v4l2 option field only if HAVE_V4L2 + * Define default options as const struct + * Move scrcpy option structs to options.h + * Expose socket interruption + * Add socket wrapper + * Use net_send() from net_send_all() + * Use sc_ prefix for sockets + * Move net_init() and net_cleanup() upwards + * Update FAQ to mention HID keyboard + * Delay HID events on Ctrl+v + * Synchronize HID keyboard state on first event + * Retrieve device serial for AOA + * Expose function to get the device serial + * Add read_pipe_all() + * Expose adb execution with redirection + * Add command execution with redirection + * Add support for USB HID keyboard over AOAv2 + * Extract mouse processor trait + * Extract keyboard processor trait + * Fix trait header guards + * Remove unused markdown link in README + * Mention SCRCPY_ICON_PATH envvar in README + * Add scrcpy icon to README + * Remove legacy scrcpy icon + * Add icon source in SVG format + * Use a new scrcpy icon + * Add support for palette icon formats + * Add icon loader + * Move common instruction out of ifdef + * Extract util function to build a local file path + * Fix code style + * Fix "Could not find v4l2 muxer" + * Simplify net_send_all() + * Update Readme.pt-br.md to v1.19 + * Update italian translation to v1.19 + * Fix workarounds for Meizu + * Add missing includes + * Fix link in README + * Add support for expandNotificationsPanel() variant + * Update links to v1.19 + +------------------------------------------------------------------- +Wed Oct 06 02:46:57 UTC 2021 - jonathan@jontech.app + +- Update to version 1.19: + * Bump version to 1.19 + * Retrieve correct error messages on Windows + * Compute scrcpy directory manually + * Fix typo in manpage + * Use SOURCE_MOUSE for scroll events + * Upgrade SDL (2.0.16) for Windows + * Upgrade platform-tools (31.0.3) for Windows + * Declare callbacks static + * Add Simplified Chinese translation of FAQ + * Add a FAQ section for Wayland support + * Add README file in Turkish + * Fix OBS project ref URL + * Fix typo in DEVELOP.md + * Fix type for assignment + * Fix net_send_all() + * Fix code style + * Improve slope estimation on start + * Add buffering debugging tools + * Add clock tests + * Add buffering command line options + * Implement buffering + * Notify new frames via callbacks + * Extract current video_buffer to frame_buffer + * Rename video_buffer to sc_video_buffer + * Relax v4l2_sink lock constraints + * Replace delay by deadline in timedwait() + * Wrap tick API + * Add missing error log + * Move include fps_counter + * Remove obsolete comment + * Rename queue to sc_queue + * Fix manpage formatting + * Fix --lock-video-orientation syntax in help + * Remove unnecessary calls to av_packet_unref() + * Fix v4l2 data race + * Initialize fields before starting a thread + * Fix assertion race condition in debug mode + * Initialize controller even if there is no display + * Update scrcpy-server in install-release.sh + * Update links to v1.18 in README and BUILD + +------------------------------------------------------------------- +Sat Aug 14 19:04:55 UTC 2021 - mardnh@gmx.de + +- Update to version 1.18: + * Add support for Android 12. + * Add support for V4L2 (device screen capture as a webcam). + * Add an option to lock the initial video orientation. + * Add an option to power off the device on close. + * Bind 4th mouse button to APP_SWITCH. + * Bind 5th mouse button to expand notification panel. + * Expand settings panel on double-expand notification panel. + * Push to /sdcard/Download by default. + * Center the window on resize-to-fit. + * Increase possible display id range. + * Log input events in verbose mode. + * Fix touch events parameters. + * Fix left click on Samsung Browser. + * Remove option --render-expired-frames. + * Various technical fixes. + +------------------------------------------------------------------- +Thu Apr 22 09:40:22 UTC 2021 - benoit.monin@gmx.fr + +- Update to version 1.17: + * Bump version to 1.17 + * Kill the server only after a small delay + * Call CloseHandle() after wait on Windows + * Initialize server struct dynamically + * Interrupt device threads on stop + * Mention how to add default arguments on Windows + * Happy new year 2021! + * Upgrade SDL (2.0.14) for Windows + * Rename release.make to release.mk + * Unify release makefile + * Replace noconsole binary by a wrapper script + * Improve rotation documentation + * Document Windows command line usage + * Remove duplicate include + * Upgrade JUnit to 4.13 + * Pause on error from a wrapper script + * Reference encoder section from FAQ + * Reference FFmpeg Windows builds from GitHub + * Upgrade platform-tools (30.0.5) for Windows + * Fix build errors for macOS + * Document shell command to get the device IP + * Upgrade gradle build tools to 4.0.1 + * Fix size_t format specifier for Windows + * Document --encoder option + * List available encoders on invalid name specified + * Log encoder name + * Adding new option --encoder + * Add option to force legacy method for pasting + * Add an option to forward all clicks + * Add local.properties to gitignore + * Remove spurious space + * Mention version of Indonesian translation + * Add Indonesian translation for README.md + * Enable Java deprecation warnings details + * Remove deprecation warning + * Fix options order + * Fix FAQ.ko.md + * Fix "press Enter key" message + * Remove unused field + * Add missing mutex unlock on error + * Add simplified Chinese translation for README.md + * Fix README indentation + * Upgrade Android SDK to 30 + * Use portable shebang for all bash scripts + * Use a more portable shebang for bash + * Use "/usr/bin/env bash" for build-wrapper.sh + * Adapt call() on ContentProvider for Android 11 + * Fix feature test macro + * Fix more log format warning + * Reset power mode only if screen is on + * Make Device methods static when possible + * Add undetected device error message in FAQ + * List available shortcut keys on error + * Reference --shortcut-mod from shortcuts list + * Update links to v1.16 in README and BUILD +- Use meson_install macro to fix build + +------------------------------------------------------------------- +Sat Aug 15 12:50:10 UTC 2020 - dmueller@suse.com + +- Update to version 1.16: + * Bump version to 1.16 + * Add pinch-to-zoom simulation + * Add reference of the translations in README + * Add Traditional Chinese translation for README + * Fix clipboard paste condition + * Revert "Inject WAKEUP instead of POWER" + * Fix missing change of Ctrl key in README + * Add packaging status + * Update links to v1.15.1 in README and BUILD + * Bump version to 1.15.1 + * Fix uninitialized repeat count in key events + * Update links to v1.15 in README and BUILD + * Bump version to 1.15 + * Upgrade FFmpeg (4.3.1) for Windows + * Upgrade platform-tools (30.0.4) for Windows + * Keep the screen off on powering on + * Add --no-key-repeat cli option + * Pass full options struct to static functions + * Copy the options used in input manager init + * Mention that MENU unlocks screen + * Use HTML tag for keys + * Mention in README that Ctrl is forwarded + * Update copy-paste section in README + * Swap paste shortcuts + * Add shortcuts for COPY and CUT + * Change "resize to fit" shortcut to MOD+w + * Remove "get clipboard" call + * Set computer clipboard only if necessary + * Set device clipboard only if necessary + * Synchronize clipboard on Ctrl+v + * Forward Shift to the device + * Forward Ctrl to the device + * Ignore text events for shortcuts + * Accept Super as shortcut modifier + * Customize shortcut modifier + * Use Ctrl for all shortcuts + * Make expression order consistent + * Simplify PASTE option for "set clipboard" + * Declare main() with argc/argv params in tests + * Inject WAKEUP instead of POWER + * Restore power mode to normal on cleanup + * Warn on ignored touch event + * Send touch event without pressure on button up + * Update BUILD.md + * Fix constants name in comment + * Make setScreenPowerMode() method static + * Do not crash on missing clipboard manager + * README: Add Fedora install instructions + * Fix touch events HiDPI-scaling + * Improve linguistic + * Handle repeating keycodes + * Make scrcpy.h independant of other headers + * Remove fprintf() call in tests + * Add option for disabling screensaver + * Fix typo in README.md + * Make message buffer static + * Increase clipboard size from 4k to 256k + * Fix receiver on partial device messages + * Serialize text size on 4 bytes + * Rename MSG_SERIALIZED_MAX_SIZE to MSG_MAX_SIZE + * Add unit test for big clipboard device message + * Rename test names from "event" to "msg" + * Avoid additional copy on Java text parsing + * Reorganize message size constants + * Mention sndcpy + * Add missing file in build_without_gradle.sh + * Configure log level for application only + * Fix incorrect log return value + * Git-ignore release directories + * Avoid repetition for some shortcuts + * Mention stay awake limitation + +------------------------------------------------------------------- +Tue Jun 02 15:55:49 UTC 2020 - pousaduarte@gmail.com + +- Update to version 1.14: + * Mention how to turn the screen on in README + * Update links to v1.14 in README and BUILD + * Bump version to 1.14 + * Reactivate "turn device screen on" feature + * Push clipboard text only if not null + * Improve manpage formatting + * Initialize a default log level + * Upgrade platform-tools (30.0.0) for Windows + * Paste on "set clipboard" if possible + * Fix union typo + +------------------------------------------------------------------- +Sun May 3 18:01:37 UTC 2020 - Adam Mizerski + +- update to 1.13 + * Add option to lock video orientation (#218, #1151) + * Add shortcuts to rotate the display (#218, #1274) + * Mirror secondary displays (#397, #898, #1177, #1238) + * Enable trilinear filtering when possible (#40, #1284) + * Add --render-driver parameter (#1284) + * Accept --max-fps before Android 10 (#488) + * Accept negative window position (#1242) + * Use another local port if 27183 is not available (#945, #951) + * Forward NumPad keys when NumLock is disabled (#1188) + * Fix issues when directory contains non-ASCII chars on Windows (#1002) + * Do not print irrelevant workarounds errors (#994) + * Fix possible BufferUnderflowException on touch event (#1245) + * Upgrade FFmpeg to 4.2.2 in Windows releases + * Upgrade SDL to 2.0.12 in Windows releases + +------------------------------------------------------------------- +Tue Feb 25 18:23:52 UTC 2020 - ecsos@opensuse.org + +- Update to 1.12.1 + * Fix bit-rate parsing when "long" is 32 bits (#995) + +- Changes from 1.12.0 + * Add shortcut (Ctrl+r) to rotate device screen (#11) + * Respect scrolling configuration on macOS (#966) + * Initialize Application object (fix crashes on some devices) (#940) + * Restore the .jar extension on the device (fix crashes on some + * devices) (#944) + * Inject mouse events with a virtual device id (fix crashes on some + * devices) (#962) + * Refuse to push server if it points to a directory (#956) + +- Run spec-cleaner. + +------------------------------------------------------------------- +Wed Nov 20 18:16:54 UTC 2019 - ecsos@opensuse.org + +- Update to version 1.11: + * Add support for touchscreens/multitouch (#22, #865) + * Add --max-fps to limit the frame rate (Android 10 only) (#488) + * Add options to set an initial window size and position (#762) + * Add option to disable window decorations (#762) + * Add --prefer-text option (#650) + * Add manpage + * Fix copy-paste on Android 10 devices (#796) + * Fix "turn screen off" on Android 10 devices (#835) + * Fix clicks not working in some games (#635) + * Fix device rotation while the window is maximized (#750) + * Fix scrcpy-noconsole.exe (#691) + * Fix HiDPI support (#829) + * Fix segfault on empty file recorded (#918) + * Fix recorded video to avoid crashes in Adobe Premiere (#702) + * Fix segfault on recording with old FFmpeg versions (#707) + * Fix several crashes on some devices (like Meizu) (#240, #365, #921) + * Upgrade FFmpeg to 4.2.1 in Windows releases + * Upgrade platform-tools to 29.0.5 (adb) in Windows releases + +------------------------------------------------------------------- +Mon Aug 05 11:20:09 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.10: + * Update links to v1.10 in README and BUILD + * Bump version to 1.10 + * List scrcpy characteristics in README + * Upgrade SDL (2.0.10) for Windows + * Update platform-tools (29.0.2) for Windows + * Upgrade FFmpeg (4.1.4) for Windows + * Initialize queue "last" field + * Use Cmd instead of Ctrl on macOS when possible + * Use generic FIFO queue for recording + * Add generic intrusive FIFO queue + * Fix cbuf documentation + * Remove unnecessary backslash in cbuf + * Remove root directory from Windows zip releases + * Log recording failure + * Log scrcpy version and URL on start + * Record asynchronously + * Reduce latency by 1 frame + * Add option to change the push target + * Document --window-title in README + * Add option --window-title + +------------------------------------------------------------------- +Sat Aug 03 17:28:19 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.9~git20190730: + * Add unit test for device message serialization + * Rename "build_" to "compile_" + * Update README.md + * Add me as copyright owner + +------------------------------------------------------------------- +Sun Jul 14 14:50:51 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.9~git20190712: + * Fix double-free on error + +------------------------------------------------------------------- +Thu Jun 27 20:45:30 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.9~git20190626: + * Close decoder on stream ended + * Replace "cannot" by "could not" + * Fix expected parameters count in error message + +------------------------------------------------------------------- +Sat Jun 22 10:49:08 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.9~git20190620: + * Close socket on error + * Prevent to turn screen off if no control + * Reference USBaudio from README + * Fix --serial help + +------------------------------------------------------------------- +Sat Jun 15 22:06:38 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.9~git20190615: + * Fix required java package for Fedora + * Remove useless else + * Improve comment + * Use getPhysicalDisplayToken on Anroid Q+ instead of getBuiltInDisplay + * Remove compilation flag "skip_frames" + * Disable portable build by default + * Fix a spell mistake + * Add link to Snap package in README + * Fix typo in README + * Update links to v1.9 in README and BUILD + * Bump version to 1.9 + * Upgrade tarketSdkVersion to 29 + * Fix deprecation warning in Java unit test + * Fix typo in test name + * Remove obsolete detail in README + * Remove obsolete explanation in FAQ + * Update DEVELOP.md + * Update platform-tools (29.0.1) for Windows + * Downgrade SDL to 2.0.8 for Windows + * Upgrade FFmpeg (4.1.3) for Windows + * Improve portable builds + * Add functions to convert wide char to UTF-8 + * Extract "scrcpy-server.jar" string + * Simplify portable build configuration + * Simplify scrcpy-server path configuration + * Never return 0 for stream protocol + * Truncate device name at UTF-8 code point boundary + * Inline lock_util functions + * Improve framerate counting + * Add cond_wait_timeout() + * Fix controller cleanup + * Add runtime option to render expired frames + * Indent command-line options + * Add README section explaining --turn-screen-off + * Add option to turn device screen off + * Indent command-line options + * Disable server controller if --no-control + * Group server params in a struct + * Use positive options names internally + * Rename unused field + * Remove "turn device screen on" feature + * Rename function to "power on" + * Improve key processing readability + * Use net_close() to close sockets + * Remove unused import + * Implement device screen off while mirroring + * Fix comment style + * Prevent socket leak on error + * Use consistent variable names + * Add clipboard logs + * Do not minimize on focus loss + * Prefix server logs + * Rename "event" to "message" + * Correct return value type in handle_event + * server/meson.build: Prevent using input field for directory + * Update DEVELOP after recent refactorings + * Implement computer-to-device clipboard copy + * Extract control event String parsing + * Fix control event String parsing + * Implement device-to-computer clipboard copy + * Add device event sender + * Add device event receiver + * Add GET_CLIPBOARD device event + * Use two sockets for video and control + * Extract control event string serialization + * Truncate UTF-8 properly + * Add helpers to truncate UTF-8 at code points + * Add unit tests for control events serialization + * Fix wrong comment in unit test + * Use custom class Point + * Merge commands with other control events + * Stop stream immediately on quit + * Close server socket before killing process + * Simplify cleanup + * Use net_recv() to read only one byte + * Simplify server_connect_to() + * Make server_connect_to() return a bool + * Add missing return 0 in unit test + * Use cbuf for file handler request queue + * Use cbuf for control event queue + * Add generic circular buffer + * Add buffer_read16be() + * Make buffer util functions accept const buffers + * Make control_event_serialize() return size_t + * Fix memory leak on error + * Fix event ownership comment + * Prefix control event constants by namespace + * Make macro expansion-safe + * Remove unused includes + * Fix indentation + * Format meson.build for readability + * Replace SDL_bool by bool in tests + * Always use SDL_malloc() and SDL_free() + * Fix checkstyle warning + * Log characters failed to be injected + * Return success count in injectText + * Recover if expand/collapse panels is not available + * Add method to log error without throwable + * Upgrade gradle + * Do not call codec.stop() on exception + +------------------------------------------------------------------- +Mon Jun 10 11:00:58 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190605: + * Replace android-tools-adb by adb + * Fix dependencies + +------------------------------------------------------------------- +Mon May 27 12:51:31 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190527: + * Bind Home key to MOVE_HOME + * Make owned filename a pointer-to-non-const + * Make owned serial a pointer-to-non-const + * Remove useless casts to (void *) + +------------------------------------------------------------------- +Fri May 24 14:05:06 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190524: + * Explain how to customize path in README + * Continue on icon loading failure + * Check surface returned for icon + +------------------------------------------------------------------- +Mon May 13 12:45:46 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190512: + * Print adb command on error + * Use size_t for command length + +------------------------------------------------------------------- +Mon May 06 12:39:09 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190505: + * Disable X11 compositor bypass + * Fix mouse focus clickthrough + +------------------------------------------------------------------- +Wed Apr 03 19:00:48 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190331: + * Fix link error on Windows Subsystem for Linux + +------------------------------------------------------------------- +Sat Mar 30 14:36:49 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190327: + * Run server tests on release + * Run tests with ASAN enabled + * Fix server checkstyle errors + +------------------------------------------------------------------- +Mon Mar 25 13:43:32 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190325: + * Fix overflow in test + +------------------------------------------------------------------- +Mon Mar 11 13:31:39 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190310: + * Remove deprecated Arch Linux package + +------------------------------------------------------------------- +Sat Mar 09 17:32:34 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.8~git20190307: + * Update developer documentation for v1.8 + * Add note about Ctrl+C on Windows while recording + * Update links to v1.8 in README and BUILD + * Bump version to 1.8 + * Log "new texture" at INFO level + * Remove empty line + * Add more consts + * Explicitly pass control flag to input manager + * Do not init SDL video subsystem if no display + * Use explicit output parameter for skipped frame + * Make owned serial a pointer-to-non-const + * Replace SDL types by C99 standard types + * Add option to mirror in read-only + * Rename -n/--no-window to -N/--no-display + * Add missing no_window initialization + * Avoid unnecessary call if display is disabled + * Extract event processing out of event_loop() + * Update code style + * Replace uint64_t by Uint64 for consistency + * Describe the --no-window feature in README + * Implement the --no-window flag + * Add a new option: -n/--no-window + * Add stream layer + * Store the recording request in a local bool + * Fix cleanup order + * Fix recording with old decoding/encoding API + * Rename "stop" to "interrupt" + * Rename "frames" to "video_buffer" + * Remove unused mutex field in decoder + * Add shortcut to expand/collapse notification panel + +------------------------------------------------------------------- +Sun Mar 03 15:32:16 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.7~git20190303: + * server/meson.build: support relative path for prebuilt_server + +------------------------------------------------------------------- +Sat Feb 16 21:07:26 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.7~git20190216: + * Use "always on top" only for SDL >= 2.0.5 + * Move all compat ifdefs definitions to compat.h + * Update links to v1.7 in README and BUILD + * Bump version to 1.7 + * Allocate extradata with av_malloc() + * Regroup Windows-ifdefs in command.h + * Create process with wide chars on Windows + * Add recording logs + * Support recording to MKV + * Rescale packet timestamp to container time base + * Write header file with correct extradata + * Forward FFmpeg logs + * Add log verbose macro + * Fix memory leak on close + * app: add always_on_top + * Fix expected mouse event sizes + +------------------------------------------------------------------- +Sun Jan 27 21:28:36 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.6~git20190126: + * Add release script + * tests: fix test_control_event_serialize + +------------------------------------------------------------------- +Tue Jan 22 13:23:17 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.6~git20190122: + * Fix incorrect comment + +------------------------------------------------------------------- +Mon Jan 21 13:48:12 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.6~git20190120: + * Update links to v1.6 in README and BUILD + * Bump version to 1.6 + * Update FFmpeg (4.1) for Windows + * Do not disable screensaver + * input_manager: don't ignore double click event when clicking inside device + * Mirror "secure" content + * Make the server unlink itself + * Handle mouse events outside device screen + * Always use non-empty arguments + * Always expect 5 parameters for the server + +------------------------------------------------------------------- +Fri Jan 18 13:53:33 UTC 2019 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20190116: + * prepare-dep: use variable for better readability + +------------------------------------------------------------------- +Sun Nov 25 22:01:55 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181125: + * Add a note to allow simulating input in README + +------------------------------------------------------------------- +Mon Nov 19 13:29:07 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181119: + * Add ninja-build to the packages list to install + +------------------------------------------------------------------- +Sun Nov 18 20:41:30 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181118: + * Ignore mouse events outside device screen + +------------------------------------------------------------------- +Sat Nov 17 22:18:59 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181115: + * Point out that ninja must not be run as root + +------------------------------------------------------------------- +Tue Nov 13 21:31:53 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181113: + * Move drag&drop features in README + +------------------------------------------------------------------- +Mon Nov 12 13:57:51 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.5fixversion~git20181112: + * Fix read_packet() return value on error or EOF + * Configure version at meson project level + * Update links to v1.5-fixversion + * Bump version to 1.5 + * Update links to v1.5 in README and BUILD + * Improve features presentation in README + * Do not queue invalid PTS + * Store queue of PTS for pending frames + * Send frame meta only if recording is enabled + * Rename --output-file to --record + * Wrap receiver state into separate struct + * Avoid partial header reads + * Move buffer reader functions to buffer_util.h + * Support AVStream.codec for old FFmpeg versions + * recorder: use av_oformat_next to support older FFmpeg + * Reenable custom SDL signal handlers + * Do not transmit MediaCodec flags + * Assign PTS to the right frame + * Decode and push frame before recording + * Only set valid PTS/DTS + * Add recorder + * Enable video output file, with pts set by server + * Fix SDL 2.0.9 for Windows + * Update SDL (2.0.9) for Windows + +------------------------------------------------------------------- +Sun Nov 11 12:32:54 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181111: + * Extract bit operations to buffer_util.h + * Explain how to install up-to-date meson + +------------------------------------------------------------------- +Sat Nov 10 16:43:57 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181110: + * Add feature test macro to declare kill() + * Fix memory leak on error + +------------------------------------------------------------------- +Thu Nov 01 23:09:43 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181101: + * Replace Ctrl by Meta for volume shortcuts on MacOS + * Refactor to support Meta in shortcuts + +------------------------------------------------------------------- +Tue Oct 30 14:02:28 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181027: + * input_manager: fix potential memory leak on text + +------------------------------------------------------------------- +Thu Oct 25 23:13:09 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181024: + * Capture Alt and Meta keys + +------------------------------------------------------------------- +Mon Oct 22 18:09:29 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181021: + * Factorize Windows command building + +------------------------------------------------------------------- +Wed Oct 10 12:40:03 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181009: + * Work around Os.write() not updating position + +------------------------------------------------------------------- +Fri Oct 05 11:37:18 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.4~git20181004: + * Support paths containing spaces on Windows + * Declare fun(void) functions with no parameters + * Update links to v1.4 in README and BUILD + * Update platform-tools (28.0.1) for Windows + * Bump version to 1.4 + * Handle alpha and space chars as raw events + * prevent closing console right after process error in windows + * Fix header guard name + * Use specific error for missing binary on Windows + * Avoid additional buffer copy in userspace + * Present fullscreen option in README + * Add option to start in fullscreen + * Do not handle system-specific values in command.c + * Notify adb missing + * Update FFmpeg (4.0.2) for Windows + * Update platform-tools (28.0.0) for Windows + * Add missing include for lock_util.h + * Separate multi-words filenames by '_' + * Document "push file" feature + * Make request_queue functions static + * Simplify SDL_assert() calls + * Add missing include config.h + * Support drag&drop a file to transfer it to device + * installer -> file_handler + +------------------------------------------------------------------- +Thu Sep 20 12:27:21 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180919: + * Add link to Gentoo Ebuild in README + +------------------------------------------------------------------- +Tue Aug 21 07:38:52 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180820: + * Add link to FLAG_SECURE in FAQ + +------------------------------------------------------------------- +Fri Aug 17 20:29:17 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180817: + * Explain how to install adb on Mac OS + * Separate build instructions from README + +------------------------------------------------------------------- +Thu Aug 16 13:19:47 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180815: + * Reset current installer process + * Return non-zero value on connection loss + * Remove AINPUT_SOURCE_ANY value + * Replace Uint32 by int to fix warnings in tinyxpm + * Explicitly use ISO C11 + +------------------------------------------------------------------- +Sun Aug 12 21:42:33 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180812: + * Destroy mutex if strdup failed + * remove redundant semicolon + +------------------------------------------------------------------- +Fri Aug 10 16:41:03 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.3~git20180809: + * Update links to v1.3 in README + * Bump version to 1.3 + * Add crop feature + * Move annotation comment + * Extract video size computation + * Increase "adb forward" connection attempts + * Do not call deprecated av_register_all() + +------------------------------------------------------------------- +Tue Jul 17 18:48:23 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.2~git20180716: + * Simplify README for Windows users + +------------------------------------------------------------------- +Mon Jun 25 17:14:26 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.2~git20180624: + * Forward repeated volume events + * Send separate DOWN/UP key events + * Improve English comment + +------------------------------------------------------------------- +Sat Jun 23 11:59:43 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.2~git20180622: + * Prevent killing unexpected process + * Fix missing installer initialization + +------------------------------------------------------------------- +Fri Jun 08 17:47:01 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.2~git20180608: + * Fix meson error: ‘for’ loop initial declarations are only allowed in C99 mode. + * Use a meson option to crossbuild for Windows + * Fix clean recipe in cross Makefile + * Upgrade gradle + +------------------------------------------------------------------- +Tue May 29 12:32:40 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.2~git20180528: + * Update links to v1.2 in README + * Bump version to 1.2 + * Rename SHA256SUM to SHA256SUMS + * Make CreateProcess() flags depend on "noconsole" + * Update README and FAQ for the new Windows releases + * Also build "noconsole" binary for Windows + * Add cross-compilation scripts for Windows + * Indicate that libs are included for Windows + * Indicate that scrcpy also works over TCP/IP + * Document APK drag & drop + * Quote apk path on Windows + * Drag and drop to install apk files from computer + * Fix net_send_all() warning + * Fix proc_show_touches warning + * Release controller lock while processing events + * Fix leak on server start error + * Add missing includes + * Change volume shortcuts + * Improve startup time when show_touches is enabled + * Disable "show touches" once window is closed + * Add an option to enable "show touches" + * Group scrcpy options into a struct + * Swap MENU and APP_SWITCH shortcuts + * Rename "shake" to "menu" + * Add support for CTRL+S to send hardware "shake" to device w/readme + +------------------------------------------------------------------- +Tue Apr 10 13:06:03 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180408: + * Map numpad ENTER key + +------------------------------------------------------------------- +Thu Apr 05 12:40:37 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180405: + * Add FAQ section about KWin crash + +------------------------------------------------------------------- +Wed Apr 04 11:39:14 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180404: + * Avoid pointer arithmetic on "void *" + * Use const pointers when possible + +------------------------------------------------------------------- +Sat Mar 31 11:02:02 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180331: + * Document 32 bits packages Windows in README + +------------------------------------------------------------------- +Thu Mar 29 10:04:47 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180328: + * Make checkstyle happy + * Install on macOS via Homebrew in README + +------------------------------------------------------------------- +Wed Mar 28 10:58:32 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180328: + * Document how to make a portable build on Windows + +------------------------------------------------------------------- +Tue Mar 27 10:59:57 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180327: + * Factorize texture creation + +------------------------------------------------------------------- +Mon Mar 26 12:54:43 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180326: + * Forward double-click events + +------------------------------------------------------------------- +Sun Mar 25 12:54:55 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180325: + * Add instructions to install Java 8 on macOS + * Update README.md + * Add instructions to run via Docker + +------------------------------------------------------------------- +Sat Mar 24 10:34:49 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180324: + * Change links to wikipedia + * Add links to FFmpeg and LibSDL2 dependencies + * Process the last video frame + * Unref last packet on exit + * Clarify adb requirements + * Describe workaround to get output on Windows + +------------------------------------------------------------------- +Wed Mar 21 21:38:36 UTC 2018 - opensuse-packaging@opensuse.org + +- Update to version 1.1~git20180321: + * Disable custom SDL signal handlers + * Remove useless blocks in switch/case + +------------------------------------------------------------------- +Wed Mar 21 20:13:18 UTC 2018 - opensuse-packaging@opensuse.org + +- Update to version 1.1~git20180320: + * Include source root directory + +------------------------------------------------------------------- +Sun Mar 18 16:45:01 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180318: + * Document the step to clone the project + * Increase the number of connection attempts + * Fix win32 build + * Remove useless cast + * Fix warning message + * Fix switch/case code style + +------------------------------------------------------------------- +Thu Mar 15 15:27:53 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180315: + * Add FAQ section about mouse clicks + +------------------------------------------------------------------- +Wed Mar 14 18:37:56 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.1~git20180314: + * Add link to the article for v1.1 in README + * Update FAQ after v1.1 release + * Update links to v1.1 in README + * Bump version to 1.1 + * Remove useless argument + * Immediately close the server socket on the device + * Workaround continuous resizing on Windows/MacOS + * Remove black borders on double-click + * Make it work over tcpip + * Store serial in server instance + * Always use the best render scale quality available + * Fix mouse clicks on LG devices + * Support screens with dimensions not divisible by 8 + * Map middle-click to HOME + * Map right-click to BACK if screen is on + * Fix text input event segfault + +------------------------------------------------------------------- +Tue Mar 13 10:23:31 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.0~git20180313: + * Disable stdout/stderr buffering on Windows + +------------------------------------------------------------------- +Mon Mar 12 16:45:14 UTC 2018 - pousaduarte@gmail.com + +- Update to version 1.0~git20180312: + * Add links to AUR packages in README + * Reverse horizontal scrolling behavior + * Use one subsection by distribution in README + * Document how to install on Fedora + * Improve dependencies in README + * Add a FAQ for common issues + * Add empty lines around code blocks + * removed "$" and changed Mac OS ---> MacOS + * added "$" in front of terminal commands + * Unref the packet on error + diff --git a/scrcpy.spec b/scrcpy.spec new file mode 100644 index 0000000..c53277d --- /dev/null +++ b/scrcpy.spec @@ -0,0 +1,103 @@ +# +# spec file for package scrcpy +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: scrcpy +Version: 2.6 +Release: 0 +Summary: Display and control your Android device +License: Apache-2.0 +Group: Hardware/Mobile +URL: https://github.com/Genymobile/scrcpy +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: %{url}/releases/download/v%{version}/scrcpy-server-v%{version} +BuildRequires: hicolor-icon-theme +BuildRequires: meson >= 0.48 +BuildRequires: pkgconfig +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavdevice) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(sdl2) +Requires: android-tools +%if 0%{?suse_version} < 1600 +BuildRequires: gcc11 +BuildRequires: gcc11-PIE +%else +BuildRequires: gcc +%endif + +%description +This application provides display and control of Android devices +connected on USB. It does not require any root access. + +%package bash-completion +Summary: Scrcpy Bash completion +BuildRequires: bash-completion +Requires: %{name} = %{version} +Requires: bash-completion +Supplements: (%{name} and bash-completion) +BuildArch: noarch + +%description bash-completion +Optional dependency offering bash completion for scrcpy. + +%package zsh-completion +Summary: Scrcpy zsh completion +BuildRequires: zsh +Requires: %{name} = %{version} +Requires: zsh +Supplements: (%{name} and zsh) +BuildArch: noarch + +%description zsh-completion +Optional dependency offering zsh completion for scrcpy. + +%prep +%autosetup -p1 + +%build +%if 0%{?suse_version} < 1600 +export CC=gcc-11 +%endif + +%meson -Dprebuilt_server='%{SOURCE1}' +%meson_build + +%install +%meson_install + +%suse_update_desktop_file scrcpy Network +%suse_update_desktop_file scrcpy-console Network + +%files +%license LICENSE +%doc README.md FAQ.md doc/* +%{_bindir}/%{name} +%{_datadir}/%{name} +%{_mandir}/man1/%{name}.1%{?ext_man} +%{_datadir}/applications/scrcpy{,-console}.desktop +%{_datadir}/icons/hicolor/*/apps/scrcpy.png + +%files bash-completion +%{_datadir}/bash-completion/completions/scrcpy + +%files zsh-completion +%{_datadir}/zsh/site-functions/_scrcpy + +%changelog