SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for scrcpy-2.7-33.2.x86_64.rpm :

* Mon Sep 16 2024 ecsosAATTopensuse.org- Update to version 2.7:
* Update links to 2.7
* Bump version to 2.7
* Upgrade FFmpeg (7.0.2) for Windows
* Upgrade SDL (2.30.7) for Windows
* Mention issue with AOA and multiple gamepads
* Mention UHID permission errors
* Enable joystick events in background
* Add gamepad user documentation
* Fix link in OTG documentation
* Remove fragile assert()
* Simplify UHID outputs routing
* Mention physical gamepad names for UHID devices
* Reorder function parameters for consistency
* Make -K -M and -G use AOA in OTG mode
* Add UHID gamepad support
* Add UHID_DESTROY control message
* Add gamepad support in OTG mode
* Add connected gamepads on start
* Add AOA gamepad support
* Implement HID gamepad
* Add util functions to write in little-endian
* Handle SDL gamepad events
* Discard unknown SDL events
* Fix HID comments
* Make AOA keyboard/mouse open error fatal
* Unregister all AOA devices automatically on exit
* Make HID logs uniform
* Add AOA open/close verbose logs
* Introduce hid_open and hid_close events
* Rename hid_event to hid_input
* Make AOA open and close asynchronous
* Reorder AOA functions
* Refactor AOA handling
* Move HID ids to common HID code
* Fix HID mouse header guard
* Add missing SC_ prefix for HID mouse event size
* Remove duplicate definition SC_HID_MAX_SIZE
* Fail on AOA keyboard/mouse initialization error
* Introduce non-droppable control messages
* Remove atomics from keyboard_uhid
* Process UHID outputs events from the main thread
* Set clipboard from the main thread
* Add mechanism to execute code on the main thread
* Expose main thread id
* Extract sc_push_event()
* Store events numbers in an enum
* Fix deprecated references in scrcpy manpage
* Do not send uninitialized HID event
* Fix compilation with -Dusb=false
* Reject arguments containing new line characters
* Enable TCP_NODELAY for the control socket
* Fix ifdef _WIN32
* Do not parse --max-fps float in the client
* Accept float values for --max-fps
* Ignore minBufferSize on error
* Validate server arguments
* Validate crop and video size
* Improve delay buffer startup
* Add missing flag initialization
* Reverse NDEBUG conditions
* Fix local NDEBUG define
* Replace \"could not\" by \"cannot\" where appropriate
* Simplify messages reader/writer
* Allow to pass an explicit version name on release
* Fix markdown formatting in documentation
* Do not apply all workarounds for ONYX devices
* Do not create UHID thread if not used
* Fix typos
* Update links to 2.6.1
* Mon Sep 02 2024 ecsosAATTopensuse.org- Update to version 2.6.1:
* Bump version to 2.6.1
* Inject finger input whenever possible
* Document INJECT_EVENTS permission issue on Xiaomi
* Update links to 2.6
* Mon Sep 02 2024 ecsosAATTopensuse.org- Update to version 2.6:
* Bump version to 2.6
* Upgrade SDL (2.30.5) for Windows
* Enable workarounds by default
* Add workaround for TCL Android 12 Smart TVs
* Fix --no-audio
* Add FUNDING.yml
* Explicitly accept issues for general questions
* Update documentation for audio playback capture
* Switch audio source if audio-dup is set
* Add --audio-dup
* Add audio playback capture method
* Move audio source value
* Extract AudioCapture interface
* Extract AudioRecordReader
* Move createAudioFormat() to AudioConfig
* Move hardcoded audio configuration to AudioConfig
* Move audio compatibility check
* Throw AudioCaptureException on workaround error
* Rename audio capture exception
* Make encode() method private
* Fix \"turn screen off\" for Honor Android 14 devices
* Fix method name
* Exclude install-release tags from git describe
* Add assertions
* Reorganize server packages
* Extract sources paths in build_without_gradle.sh
* Add clipboard workaround for Honor device
* Linearize try-catch blocks
* Add mouse secondary bindings
* Track mouse buttons state manually
* Remove unused virtual mouse
* Use finger source when a pointer is simulated
* Make pointer id independent of mouse bindings
* Add missing SC_ prefix for pointer id constants
* Simplify boolean condition using XOR
* Remove top-level const
* Add workaround for Skyworth devices
* Always initialize display->gl_context on macOS
* Do not report error on device disconnected
* Upgrade default versions in bug report template
* Rework bug report template checks
* Improve bug report template
* Reorder initialization to simplify
* Update links to 2.5
* Tue Jul 02 2024 ecsosAATTopensuse.org- Update to version 2.5:
* Bump version to 2.5
* Upgrade platform-tools (35.0.0) for Windows
* Upgrade SDL (2.30.4) for Windows
* Upgrade FFmpeg (7.0.1) for Windows
* Do not call avcodec_close()
* Forward mouse hover events
* Forward all clicks by default for UHID/AOA
* Add option to configure mouse bindings
* Fix \"resize to fit\" when all clicks are forwarded
* Fix zsh completion script
* Fix error message parameter
* Ignore shortcut keycodes
* Simplify shortcut modifiers
* Try newer display API first
* Add missing virtual display release()
* Upgrade AGP from 8.1.3 to 8.3.0
* Mention that the Debian package is obsolete
* Retrieve icon decoder directly
* Release the audio lock early
* Fix thread leak on Windows
* Avoid zero-length copies
* Remove suggestion to install from winget
* Document missing package to build for Windows
* Rename streamScreen() to streamCapture()
* Reject recording with control only
* Terminate on controller error
* Update documentation for --no-window
* Add scrcpy window without video playback
* Disable FPS counter when no video playback
* Fix boolean condition
* Handle reported camera sizes array is null
* Forbid --no-control in OTG mode
* Fix code style
* Register rotation watcher only when possible
* Fix could not rotate secondary display
* Fix freeze and thaw rotation for Android 14
* Refactor WindowManager methods
* Fix segfault on close with --no-video
* Fix typo in documentation
* Request limited color range by default
* Fix YUV conversion for full color range
* Add a shortcut to pause/unpause display
* Use source repo tarball for libusb
* Reorder documentation
* Add videos for pinch-to-zoom and tilt
* Italicize coordinates letters in documentation
* Update links to 2.4
* Mon Mar 04 2024 ecsosAATTopensuse.org- Update to version 2.4:
* Bump version to 2.4
* Build dependencies from sources
* Happy new year 2024!
* Remove spurious line
* Set SDL hints before creating any thread
* Detect missing initializations
* Add missing initialization
* Document usage examples
* Document UHID
* Check options specific to SDK keyboard
* Do not fallback keyboard mode if AOA fails
* Reassign -K and -M to UHID keyboard and mouse
* Add UHID mouse support
* Add shortcut to open keyboard settings
* Fix startActivity() for supporting API < 30
* Create UhidManager only on first use
* Handle UHID output
* Refactor DeviceMessageSender
* Add UHID keyboard support
* Log controller handling errors
* Initialize controller before keyboards
* Initialize controller in two steps
* Extract binary to hex string conversion
* Rename default keyboard implementation to \"sdk\"
* Extract mouse HID handling
* Extract keyboard HID handling
* Extract HID events struct
* Embed HID event data
* Rename hid event \"buffer\" to \"data\"
* Rename \"buffer\" to \"data\"
* Fix HID mouse documentation
* Introduce --keyboard and --mouse
* Accept disabled keyboard or mouse
* Always pass input manager instance
* Fix typo in error message
* Remove duplicate lines in libusb script
* Fix FAQ link
* Check device messages assumptions at runtime
* Add rotation support for non-default display
* Add missing clipboard workaround for IQOO device
* Use sc_ prefix for device sender
* Fix device message deserialization checks
* Replace unsigned char by uint8_t for buffers
* Extract ControlChannel class
* Avoid negative average buffering
* Minimize buffer underflow on starting
* Use early return to avoid additional indentation
* Fix audio player comment
* Increase buffering level smoothness
* Improve audio compensation thresholds
* Replace locks by atomics in audio player
* Limit buffering time value
* Configure clean up actions dynamically
* Adapt to display API changes
* Catch generic ReflectiveOperationException
* Move service managers creation
* Remove unused field
* Fix memory leak on error
* Remove useless run script
* Add another clipboard workaround for IQOO device
* Fix scrcpy_otg() return value on error
* Do not power on if no video
* Fix include formatting
* Use current time as initial timestamp on error
* Fix integer overflow for audio packet duration
* Fix checkstyle violation
* Simulate tilt multitouch event by pressing Shift
* Fix incorrect compgen usage
* Fix bash completion syntax
* Fix manpage syntax
* Add note about official website
* Use up-to-date values on display fold change
* Explicitly exit cleanup process
* Add clipboard workaround for IQOO device
* Adapt AudioRecord workaround to Android 14
* Update links to v2.3.1
* Tue Dec 26 2023 ecsosAATTopensuse.org- Update to version 2.3.1:
* Bump version to 2.3.1
* Fix AV1 demuxing
* Do not fail if SDL_INIT_VIDEO fails without video
* Do not initialize SDL video when not necessary
* Mention exclusive_caps mode in v4l2 documentation
* Add workaround for Samsung devices issues
* Fix compilation error
* Update links to v2.3
* Fri Dec 01 2023 ecsosAATTopensuse.org- Update to version 2.3:
* Bump version to 2.3
* Fix scrcpy-console.desktop
* Do not quote $SHELL in .desktop files
* Fix Linux desktop files
* Fix turn screen off on Android 14
* Upgrade sdl (2.28.5) for Windows
* Extract $VERSION for dependency scripts
* Download SDL prebuilt binaries from github
* Improve crossbuild
* Fix java code style
* Do not hardcode server path on the device
* Fix meson deprecated \'pkgconfig\' to \'pkg-config\'
* Update documentation about video orientation
* Add --orientation
* Add --record-orientation
* Pass --lock-video-orientation argument in degrees
* Add --display-orientation
* Mention turning off audio in camera documentation
* Fix manpage style syntax
* Fix options alphabetical order
* Update record format error message
* Do not create Device instance for camera
* Recreate the display on rotation
* Upgrade Android SDK to 34
* Upgrade AGP (8.1.3) and Gradle to 8.4
* Upgrade Android checkstyle to 10.12.5
* Log PTS fixing at debug level
* Add support for RAW audio (WAV) recording
* Upgrade FFmpeg build to 6.1-scrcpy-2
* Fix audio PTS by the duration of 1 sample
* Compute PTS of intermediate blocks
* Read audio by blocks of 1024 samples
* Increase default audio buffer for FLAC
* Add support for FLAC audio codec
* Upgrade FFmpeg build to 6.1-scrcpy
* Fix OPUS packet in an endian-independent way
* Suppress private APIs lints to Workarounds class
* Update muxers documentation
* Always initialize SDL with the video subsystem
* Do not log EPIPE on close for raw audio
* Fix error handling in raw audio recorder
* Stop capture on any RAW audio error
* Log recording RAW audio codec as error
* Recover on invalid camera FPS ranges
* Simplify --list-cameras output
* Return the FakeContext as application context
* Fill application context for camera
* Always assign a system context as base context
* Simplify Application instantiation
* Update links to v2.2
* Fri Dec 01 2023 ecsosAATTopensuse.org- 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
* Fri Aug 25 2023 ecsosAATTopensuse.org- 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
* Mon Jun 26 2023 ecsosAATTopensuse.org- 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 AATTOverride 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- Drop fix-desktop-file-exec.patch because now in upstream.
* Fri Mar 24 2023 ecsosAATTopensuse.org- 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 30 2022 ecsosAATTopensuse.org- 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
* Thu Jun 16 2022 ecsosAATTopensuse.org- 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 2022 munix9AATTgooglemail.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 \'\
\' 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 2022 alarrosaAATTsuse.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 2021 jonathanAATTjontech.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 2021 mardnhAATTgmx.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 2021 benoit.moninAATTgmx.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
 
ICM