Changelog for
scrcpy-2.7-1.6.i586.rpm :
* Mon Sep 16 2024 munix9AATTgooglemail.com- Update to version 2.7:
* Add gamepad support (#99, #2130, #5270)
* Fix workarounds for ONYX devices (#5182)
* Accept float values for --max-fps (265a15e)
* Upgrade SDL to 2.30.7 in Windows releases
* Various technical fixes
* Sat Aug 03 2024 munix9AATTgooglemail.com- Update to version 2.6.1:
* Inject finger input whenever possible (#5162, #5163)
* Thu Aug 01 2024 munix9AATTgooglemail.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 2024 munix9AATTgooglemail.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 03 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 02 2023 munix9AATTgooglemail.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 2023 munix9AATTgooglemail.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 02 2023 munix9AATTgooglemail.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 2023 munix9AATTgooglemail.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 2023 munix9AATTgooglemail.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 2023 munix9AATTgooglemail.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 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
* Sun Mar 12 2023 munix9AATTgooglemail.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 2022 munix9AATTgooglemail.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 2022 munix9AATTgooglemail.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 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