- 12 3月, 2018 2 次提交
-
-
由 Romain Vimont 提交于
The serial is needed for many server actions, but this is an implementation detail, so the caller should not have to provide it on every call. Instead, store the serial in the server instance on server_start(). This paves the way to implement the "adb forward" fallback properly.
-
由 Romain Vimont 提交于
Because why not. See <https://wiki.libsdl.org/SDL_HINT_RENDER_SCALE_QUALITY>.
-
- 11 3月, 2018 2 次提交
-
-
由 Romain Vimont 提交于
Use default values (0) for some fields of PointerCoords so that mouse clicks work correctly on LG devices. Fixes <https://github.com/Genymobile/scrcpy/issues/18>.
-
由 Romain Vimont 提交于
The codec only supports dimensions which are multiple of 8. Thus, when --max-size is specified, the value is always rounded down to the nearest multiple of 8. However, it was wrongly assumed that the physical size is always a multiple of 8. To support such devices, also round down the physical screen dimensions. Fixes <https://github.com/Genymobile/scrcpy/issues/39>.
-
- 10 3月, 2018 3 次提交
-
-
由 Romain Vimont 提交于
Middle-click is useless in practice. Use it for HOME.
-
由 Romain Vimont 提交于
Right-click was used to turn the screen on. It did nothing when the screen was already on. Instead, in that case, press BACK (like Vysor). Suggested by: <https://www.reddit.com/r/Android/comments/834zmr/introducing_scrcpy_an_app_to_display_and_control/dvfueft/>
-
由 Romain Vimont 提交于
The text input control_event was initially designed for mapping SDL_TextInputEvent, limited to 32 characters. For simplicity, the copy/paste feature was implemented using the same control_event: it just sends the text to paste. However, the pasted text might have a length breaking some assumptions: - on the client, the event max-size was smaller than the text max-length, - on the server, the raw buffer storing the events was smaller than the max event size. Fix these inconsistencies, and encode the length on 2 bytes, to accept more than 256 characters. Fixes <https://github.com/Genymobile/scrcpy/issues/10>.
-
- 09 3月, 2018 2 次提交
-
-
由 Romain Vimont 提交于
Do not leak the packet data on error.
-
由 Romain Vimont 提交于
Oops! The content of the packets were never freed.
-
- 08 3月, 2018 21 次提交
-
-
由 Romain Vimont 提交于
Indicate how to run the app from the build directory in README. It's convenient during development.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
And update README.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
Paste computer clipboard to the device on Ctrl+v. The other direction (pasting the device clipboard to the computer) is not implemented. It would require a communication channel from the device to the computer, other than the socket used by the video stream.
-
由 Romain Vimont 提交于
Initializing with braces initializes the other fields to 0, which is not necessary.
-
由 Romain Vimont 提交于
The High DPI support is enabled by default, so that the renderer use the full definition of High DPI screens. However, there are still mouse coordinates problems on some MacOS having High DPI support (but not all), so expose a way to disable it.
-
由 Romain Vimont 提交于
A call to avcodec_receive_frame() may return AVERROR(EAGAIN) if more input is required. This is not an error, do not fail.
-
由 Romain Vimont 提交于
Directly link to the relevant subsection.
-
由 Romain Vimont 提交于
Initialize variables only when necessary.
-
由 Romain Vimont 提交于
The API to decode the video frames is different depending on the libavcodec version. Move the new API usage to the #if-block.
-
由 Romain Vimont 提交于
The decoder sometimes returned a non-zero value on error, but not on every path. Since we never use the value, always return 0 at the end (like in the controller).
-
由 Romain Vimont 提交于
Just enabling this flag breaks mouse location values. This reverts commit 38b56f55.
-
由 Romain Vimont 提交于
The server socket does not release the port it was listening for if we just close it: we must also shutdown it.
-
由 Romain Vimont 提交于
SDL_MouseWheelEvent does not provide the mouse location, so we used SDL_GetMouseState() to retrieve it. Unfortunately, SDL_GetMouseState() returns a position expressed in the window coordinate system while the position filled in SDL events are expressed in the renderer coordinate system. As a consequence, the scroll was not applied at the right position on the device. Therefore, convert the coordinate system. See <https://stackoverflow.com/questions/49111054/how-to-get-mouse-position-on-mouse-wheel-event>.
-
由 Romain Vimont 提交于
Replace "at network level" by "at the network level".
-
由 Romain Vimont 提交于
Set the default video bitrate to 8Mbps. This greatly increase quality on fast motion, without negative side effects.
-
由 Romain Vimont 提交于
The old name checkRotationChanged() did not suggest that the flag was reset.
-
由 Romain Vimont 提交于
Use high DPI if available. Note that on Mac OS X, setting this flag is not sufficient: > On Apple's OS X you must set the NSHighResolutionCapable Info.plist > property to YES, otherwise you will not receive a High DPI OpenGL > display. <https://wiki.libsdl.org/SDL_CreateWindow#flags>
-
由 Romain Vimont 提交于
Explain how to build, install and run the application.
-
- 01 3月, 2018 1 次提交
-
-
由 Romain Vimont 提交于
-
- 28 2月, 2018 5 次提交
-
-
由 Romain Vimont 提交于
On user request to quit, two kinds of blocking calls must be interrupted on the server: 1. the reads from and writes to the socket; 2. the call to MediaCodec.dequeueOutputBuffer(). The former case was handled by calling shutdown() on the socket from the client, but the latter was not managed. There is no easy way to wake this call properly, so just terminate the process from the client (i.e. send SIGTERM on Linux) instead.
-
由 Romain Vimont 提交于
Stop encoding if the codec signaled the end of stream. The eof flag was read, but never written.
-
由 Romain Vimont 提交于
The server is copied to /data/local/tmp/scrcpy-server.jar and executed on the device. As soon as we are connected, we can unlink (rm) it from /data/local/tmp, to keep the device clean.
-
由 Romain Vimont 提交于
The function adb_execute() now expects a "const char *const *" parameter for the adb command, so there is no need to cast.
-
由 Romain Vimont 提交于
The Server class is in package scrcpy, there is no need to repeat the name in the classname.
-
- 16 2月, 2018 4 次提交
-
-
由 Romain Vimont 提交于
The recipe "build-portable" is also the name of the generated directory. Add this name to the .PHONY list.
-
由 Romain Vimont 提交于
The server is currently a JAR, but it may ba an APK or a DEX, so the variable name should not contain the type. Rename the environment variable, the Meson options and the C definitions.
-
由 Romain Vimont 提交于
Set SO_REUSEADDR flag to server socket, so that bind() does not fail if we restart scrcpy immediately after we closed the previous one.
-
由 Romain Vimont 提交于
Do not silently ignore close() and shutdown() errors, and use perror() to get the errno.
-