- 04 5月, 2019 2 次提交
-
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
- 01 4月, 2019 1 次提交
-
-
由 Gerdal 提交于
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: NRomain Vimont <rom@rom1v.com>
-
- 28 3月, 2019 3 次提交
-
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
This may capture more errors (like e2ef39fa).
-
由 Romain Vimont 提交于
Fix errors reported by: gradle -p server check
-
- 25 3月, 2019 1 次提交
-
-
由 Romain Vimont 提交于
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.
-
- 22 3月, 2019 1 次提交
-
-
由 Romain Vimont 提交于
On exception, the codec is not in a state were .stop() can be called.
-
- 11 3月, 2019 1 次提交
-
-
由 Andrew Rabert 提交于
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: NRomain Vimont <rom@rom1v.com>
-
- 08 3月, 2019 7 次提交
-
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
Ctrl+C kills the app on Windows, so the recorded file is broken.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
The "initial texture" is logged at INFO level. For consistency, log "new texture" at the same level.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
- 03 3月, 2019 23 次提交
-
-
由 Romain Vimont 提交于
Some decoder and recorder functions must not write to AVCodec and AVPacket.
-
由 Romain Vimont 提交于
server/meson.build: support relative path for prebuilt_server
-
由 Romain Vimont 提交于
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.
-
由 Yu-Chen Lin 提交于
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: NYu-Chen Lin <npes87184@gmail.com>
-
由 Romain Vimont 提交于
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.
-
由 Romain Vimont 提交于
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).
-
由 Romain Vimont 提交于
The server owns the serial, so it needs to free it. Therefore, it should not be a pointer-to-const.
-
由 Romain Vimont 提交于
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
-
由 Romain Vimont 提交于
Add an option to disable device control: -n/--no-control.
-
由 Romain Vimont 提交于
The description of scrcpy is "Display and control your Android device". We want an option to disable display, another one to disable control. For naming consistency, name it --no-display. Also change the shortname to -N, so that we can use -n for --no-control later.
-
由 Romain Vimont 提交于
Initialize the field no_window in "struct args"
-
由 Romain Vimont 提交于
If --no-window is passed, there is no need to register an event watcher.
-
由 Romain Vimont 提交于
To avoid too many levels of nested blocks, move the event handling logic in a separate function.
-
由 Romain Vimont 提交于
Limit source code to 80 chars, and declare functions return type and modifiers on a separate line. This allows to avoid very long lines, and all function names are aligned. (We do this on VLC, and I like it.)
-
由 Romain Vimont 提交于
The field pts is declared Uint64 in struct frame_meta.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
Disable decoder, screen (display), file_handler and controller when --no-window is requested. <https://github.com/Genymobile/scrcpy/pull/418>
-
由 CapsLock 提交于
This option will allow scrcpy to record the stream without display. Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 Romain Vimont 提交于
The decoder initially read from the socket, decoded the video and sent the decoded frames to the screen: +---------+ +----------+ socket ---> | decoder | ---> | screen | +---------+ +----------+ The design was simple, but the decoder had several responsabilities. Then we added the recording feature, so we added a recorder, which reused the packets received from the socket managed by the decoder: +----------+ ---> | screen | +---------+ / +----------+ socket ---> | decoder | ---- +---------+ \ +----------+ ---> | recorder | +----------+ This lack of separation of concerns now have concrete implications: we could not (properly) disable the decoder/display to only record the video. Therefore, split the decoder to extract the stream: +----------+ +----------+ ---> | decoder | ---> | screen | +---------+ / +----------+ +----------+ socket ---> | stream | ---- +---------+ \ +----------+ ---> | recorder | +----------+ This will allow to record the stream without decoding the video.
-
由 Romain Vimont 提交于
This avoids to test explicitly whether options->record_filename is NULL.
-
由 Romain Vimont 提交于
The order of cleanup was not the reverse as the initialization order. As a consequence, recorder_destroy() could theoretically be called even if recorder_init() failed.
-
由 Romain Vimont 提交于
The deprecated avcodec_decode_video2() should always the whole packet, so there is no need to loop (cf doc/examples/demuxing_decoding.c in FFmpeg). This hack changed the packet size and data pointer. This broke recording which used the same packet.
-
由 Romain Vimont 提交于
The purpose of video_buffer_stop() is to interrupt any blocking call, so rename it to video_buffer_interrupt().
-
- 02 3月, 2019 1 次提交
-
-
由 Romain Vimont 提交于
It better describes the purpose of the structure.
-