Romain Vimont
999c964689
Make macro expansion-safe
...
Use parentheses to avoid unexpected results.
For example, make:
2 * SERIALIZED_EVENT_MAX_SIZE
expand to:
2 * (3 + TEXT_MAX_LENGTH)
instead of:
2 * 3 + TEXT_MAX_LENGTH
2019-05-30 22:30:18 +02:00
Romain Vimont
befe455e44
Remove unused includes
...
The struct control_event does not use mutexes, and net.h does not need
SDL_platform.h.
2019-05-30 22:30:18 +02:00
Romain Vimont
d2504f974c
Fix indentation
...
Previous refactorings broke indentation.
2019-05-30 22:30:18 +02:00
Romain Vimont
0fbab42f8c
Format meson.build for readability
2019-05-30 22:30:18 +02:00
Romain Vimont
08f506b24f
Replace SDL_bool by bool in tests
...
Commit dfed1b250e
replaced SDL types by
standard types in sources, but tests were not updated.
2019-05-30 22:30:18 +02:00
Romain Vimont
3bc1c51b91
Always use SDL_malloc() and SDL_free()
...
To avoid mixing SDL_malloc()/SDL_strdup() with free(), or malloc() with
SDL_free(), always use the SDL version.
2019-05-30 22:30:08 +02:00
Romain Vimont
7ed976967f
Fix checkstyle warning
...
Checkstyle wants a specific order of imports.
2019-05-30 00:22:05 +02:00
Romain Vimont
b75f0e9427
Merge branch 'master' into dev
2019-05-28 13:31:37 +02:00
Romain Vimont
5d473efeb5
Bind Home key to MOVE_HOME
...
On pressing Home key on the computer, move the cursor to the beginning
of the line instead of going back to the home screen.
<https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME >
<https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_MOVE_HOME >
Fixes (part of) <https://github.com/Genymobile/scrcpy/issues/555 >.
2019-05-27 10:24:47 +02:00
Romain Vimont
a41dd6c79f
Make owned filename a pointer-to-non-const
...
The file handler owns the filename string, so it needs to free it.
Therefore, it should not be a pointer-to-const.
2019-05-24 17:25:31 +02:00
Romain Vimont
c3779d8513
Make owned serial a pointer-to-non-const
...
The file handler owns the serial, so it needs to free it. Therefore, it
should not be a pointer-to-const.
2019-05-24 17:24:17 +02:00
Romain Vimont
b3bd5f1b80
Remove useless casts to (void *)
2019-05-24 17:23:21 +02:00
Romain Vimont
a920ba6471
Explain how to customize path in README
2019-05-24 13:25:12 +02:00
Romain Vimont
3133d5d1c7
Continue on icon loading failure
...
If loading the icon from xpm fails, launch scrcpy without window icon.
<https://github.com/Genymobile/scrcpy/issues/539 >
2019-05-23 20:58:08 +02:00
Romain Vimont
2dc1a59471
Check surface returned for icon
...
SDL_CreateRGBSurfaceFrom() may return NULL, causing a segfault.
<https://github.com/Genymobile/scrcpy/issues/539 >
2019-05-20 09:44:45 +02:00
Romain Vimont
3068457b90
Log characters failed to be injected
...
Some characters may not be injected (e.g. '\r`). Log them instead of
ignoring them silently.
2019-05-20 08:40:10 +02:00
Romain Vimont
56f8e78f58
Merge pull request #542 from npes87184/dev
...
Return success count in injectText
2019-05-20 08:39:02 +02:00
Yu-Chen Lin
1630f923ef
Return success count in injectText
...
It will insert as many text as possible now.
Fix #509 , tested on Windows 10 and Arch Linux.
Signed-off-by: Yu-Chen Lin <npes87184@gmail.com>
2019-05-20 08:36:32 +02:00
Romain Vimont
e443518ed9
Print adb command on error
...
When the execution of an adb command fails, print the command. This will
help to understand what went wrong.
See <https://github.com/Genymobile/scrcpy/issues/530 >.
2019-05-12 15:16:13 +02:00
Romain Vimont
eeb8e8420f
Use size_t for command length
...
The size of an array should have type size_t.
2019-05-12 14:31:18 +02:00
Romain Vimont
39b5893c42
Merge pull request #522 from dos1/compositor
...
Disable X11 compositor bypass
2019-05-05 17:35:10 +02:00
Sebastian Krzyszkowiak
b941854c73
Disable X11 compositor bypass
...
Compositor bypass is meant for fullscreen games consuming lots of GPU
resources. For a light app that will usually be windowed, this only
causes unnecessary compositor suspends, especially visible (and
annoying) with complying window manager like KWin.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-05-05 17:35:00 +02:00
Sebastian Krzyszkowiak
068253a3a2
Fix mouse focus clickthrough
...
Mouse focus clickthrough didn't work due to compat.h header not being
included in scrcpy.c.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-05-05 17:28:25 +02:00
Romain Vimont
c8338b2918
Recover if expand/collapse panels is not available
...
Some devices don't have the required method. Recover gracefully without
crashing the server.
Fixes <https://github.com/Genymobile/scrcpy/issues/506 >.
2019-05-04 14:49:48 +02:00
Romain Vimont
2837c6eaab
Add method to log error without throwable
...
Add Ln.e(message) in addition to Ln.e(message, error).
2019-05-04 14:49:04 +02:00
Romain Vimont
668e54fd4b
Upgrade gradle
2019-05-04 14:49:04 +02:00
Romain Vimont
01664777c8
Merge branch 'master' into dev
2019-05-04 14:48:54 +02:00
Gerdal
ffa8c66979
Fix link error on Windows Subsystem for Linux
...
Build failed on WSL because of lack of reference to WinMain@16 during
linking.
Fixes <https://github.com/Genymobile/scrcpy/issues/316 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-03-31 20:07:07 +02:00
Romain Vimont
5254e585c6
Run server tests on release
2019-03-27 21:51:42 +01:00
Romain Vimont
66baf0f95b
Run tests with ASAN enabled
...
This may capture more errors (like
e2ef39fae5
).
2019-03-27 21:50:25 +01:00
Romain Vimont
f11b0ec204
Fix server checkstyle errors
...
Fix errors reported by:
gradle -p server check
2019-03-27 21:47:54 +01:00
Romain Vimont
e2ef39fae5
Fix overflow in test
...
The serialized text is not nul-terminated (its size is explicitely
provided), but the input text in the event is a nul-terminated string.
The test was failing with ASAN enabled.
2019-03-25 11:33:32 +01:00
Romain Vimont
3eda38e5fc
Do not call codec.stop() on exception
...
On exception, the codec is not in a state were .stop() can be called.
2019-03-21 18:46:22 +01:00
Andrew Rabert
a16cf95b8e
Remove deprecated Arch Linux package
...
The `scrcpy-prebuiltserver` has been deprecated in favor of the `scrcpy`
package.
<https://aur.archlinux.org/cgit/aur.git/commit/?h=scrcpy-prebuiltserver&id=2ef4359b2e45fc278a191fae014d381b486ffcfe >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-03-10 23:19:09 +01:00
Romain Vimont
71fd238b0a
Update developer documentation for v1.8
2019-03-07 20:48:43 +01:00
Romain Vimont
d795144a36
Add note about Ctrl+C on Windows while recording
...
Ctrl+C kills the app on Windows, so the recorded file is broken.
2019-03-07 20:42:08 +01:00
Romain Vimont
c287826f8e
Update links to v1.8 in README and BUILD
2019-03-07 20:42:02 +01:00
Romain Vimont
1323e3c43e
Bump version to 1.8
2019-03-07 20:21:07 +01:00
Romain Vimont
50dac2eaee
Log "new texture" at INFO level
...
The "initial texture" is logged at INFO level. For consistency, log "new
texture" at the same level.
2019-03-07 20:18:03 +01:00
Romain Vimont
b8ff35efe6
Remove empty line
2019-03-07 19:03:13 +01:00
Romain Vimont
7fad611dfb
Merge branch 'dev'
2019-03-07 19:02:40 +01:00
Romain Vimont
a7b3901c31
Add more consts
...
Some decoder and recorder functions must not write to AVCodec and
AVPacket.
2019-03-03 12:02:41 +01:00
Romain Vimont
fc81d0d771
Merge pull request #442 from npes87184/master
...
server/meson.build: support relative path for prebuilt_server
2019-03-03 11:16:13 +01:00
Romain Vimont
f7efafd846
Explicitly pass control flag to input manager
...
Replace the "global" control flag in the input_manager by a function
parameter to make explicit that the behavior depends whether
--no-control has been set.
2019-03-03 11:05:26 +01:00
Yu-Chen Lin
c456e38264
server/meson.build: support relative path for prebuilt_server
...
If we don't do this trick, the prebuilt_server will be
../server/[the_user_defined_path]. In general, we will not give an relative path
based on build directory, which leads to wrong prebuilt_server path.
The building error:
ninja: error: '../scrcpy-server-v1.7.jar', needed by
'server/scrcpy-server.jar', missing and no known rule to make it
Signed-off-by: Yu-Chen Lin <npes87184@gmail.com>
2019-03-03 12:27:56 +08:00
Romain Vimont
6baed8a06f
Do not init SDL video subsystem if no display
...
The SDL video subsystem is not necessary if we don't display the video.
Move the sdl_init_and_configure() function from screen.c to scrcpy.c,
because it is not only related to the screen display.
2019-03-03 01:41:35 +01:00
Romain Vimont
8595862005
Use explicit output parameter for skipped frame
...
The function video_buffer_offer_decoded_frame() returned a bool to
indicate whether the previous frame had been consumed.
This was confusing, because we could expect the returned bool report
whether the action succeeded.
Make the semantic explicit by using an output parameter.
Also revert the flag (report if the frame has been skipped instead of
consumed) to avoid confusion for the first frame (the previous is
neither skipped nor consumed because there is no previous frame).
2019-03-03 00:35:20 +01:00
Romain Vimont
9ef345fdd0
Make owned serial a pointer-to-non-const
...
The server owns the serial, so it needs to free it. Therefore, it should
not be a pointer-to-const.
2019-03-03 00:01:16 +01:00
Romain Vimont
dfed1b250e
Replace SDL types by C99 standard types
...
Scrcpy is a C11 project. Use the C99 standard types instead of the
SDL-specific types:
SDL_bool -> bool
SintXX -> intXX_t
UintXX -> uintXX_t
2019-03-02 23:55:23 +01:00
Romain Vimont
8655ba7197
Add option to mirror in read-only
...
Add an option to disable device control: -n/--no-control.
2019-03-02 23:10:21 +01:00