Romain Vimont
9a50b65b33
Merge pull request #695 from schwabe/schwabe/fix_null_queue
...
Fix building on OS X (missing NULL in queue.h)
2019-08-05 15:26:06 +02:00
Arne Schwabe
c05056343b
Fix building on OS X (missing NULL in queue.h)
...
Headers seem to be a bit different in Apple land and you need to include
stddef.h explicitly to the NULL declaration.
This also makes the code a bit more correct, as stddef.h is the header
in the C standard that defines NULL
(https://en.cppreference.com/w/cpp/header/cstddef ).
2019-08-05 15:02:05 +02:00
Romain Vimont
9bcee4ea42
Update links to v1.10 in README and BUILD
2019-08-04 22:03:45 +02:00
Romain Vimont
c28619e4e8
Bump version to 1.10
2019-08-04 16:41:04 +02:00
Romain Vimont
8969444ff2
List scrcpy characteristics in README
...
They were listed in the blog post introducing scrcpy:
<https://blog.rom1v.com/2018/03/introducing-scrcpy/ >
2019-08-04 16:23:42 +02:00
Romain Vimont
b54f0bfe48
Upgrade SDL (2.0.10) for Windows
...
Include the latest version of SDL in Windows releases.
2019-08-04 16:23:42 +02:00
Romain Vimont
0aec1e502e
Update platform-tools (29.0.2) for Windows
...
Include the latest version of adb in Windows releases.
2019-08-04 16:23:42 +02:00
Romain Vimont
c3a58ad10f
Upgrade FFmpeg (4.1.4) for Windows
...
Include the latest version of FFmpeg in Windows releases.
2019-08-04 16:23:42 +02:00
Romain Vimont
b0184f2869
Initialize queue "last" field
...
The compiler is not always able to see that "last" is always initialized
before being used, so always initialize it.
2019-08-04 16:22:39 +02:00
Romain Vimont
e2ac996183
Use Cmd instead of Ctrl on macOS when possible
...
Fixes <https://github.com/Genymobile/scrcpy/issues/642 >
2019-08-03 23:13:44 +02:00
Romain Vimont
5e4ccfd832
Use generic FIFO queue for recording
...
Replace the specific recording queue by the new generic FIFO queue
implementation.
2019-08-01 23:15:47 +02:00
Romain Vimont
53b6ee2cf4
Add generic intrusive FIFO queue
...
We need several FIFO queues (a queue of packets, a queue of messages,
etc.).
Some of them are implemented using cbuf, a generic circular buffer. But
for recording, we need to store the packets in an unbounded queue until
they are written, so the queue was implemented manually.
Create a generic implementation (using macros) to avoid reimplementing
it every time.
2019-08-01 23:14:50 +02:00
Romain Vimont
26213f1031
Fix cbuf documentation
2019-08-01 22:50:03 +02:00
Romain Vimont
96b5067cbf
Remove unnecessary backslash in cbuf
2019-08-01 22:08:34 +02:00
Romain Vimont
421e4be399
Remove root directory from Windows zip releases
...
Put the scrcpy files at the root of the zip archive. This avoids an
unnecessary level of directories when extracting.
2019-07-31 16:35:14 +02:00
Romain Vimont
6abb4902c6
Log recording failure
...
If recording fails, log "recording failed" instead of "recording
complete".
2019-07-31 11:04:38 +02:00
Romain Vimont
d4ed8b6f26
Log scrcpy version and URL on start
...
Keep --version which also print the version of dependencies.
2019-07-31 01:55:43 +02:00
Romain Vimont
35d9185f6c
Record asynchronously
...
The record file was written from the stream thread. As a consequence,
any blocking I/O to write the file delayed the decoder.
For maximum performance even when recording is enabled, send
(refcounted) packets to a separate recording thread.
2019-07-31 01:55:40 +02:00
Romain Vimont
63af7fbafe
Reduce latency by 1 frame
...
To packetize the H.264 raw stream, av_parser_parse2() (called by
av_read_frame()) knows that it has received a full frame only after it
has received some data for the next frame. As a consequence, the client
always waited until the next frame before sending the current frame to
the decoder!
On the device side, we know packets boundaries. To reduce latency,
make the device always transmit the "frame meta" to packetize the stream
manually (it was already implemented to send PTS, but only enabled on
recording).
On the client side, replace av_read_frame() by manual packetizing and
parsing.
<https://stackoverflow.com/questions/50682518/replacing-av-read-frame-to-reduce-delay >
<https://trac.ffmpeg.org/ticket/3354 >
2019-07-31 01:55:32 +02:00
Romain Vimont
a90ccbdf3b
Add option to change the push target
...
A drag & drop always pushed the file to /sdcard/.
Add an option to customize the target directory.
Fixes <https://github.com/Genymobile/scrcpy/issues/659 >
2019-07-31 01:53:16 +02:00
Romain Vimont
ca970e8aa6
Merge branch 'master' into dev
2019-07-31 00:14:17 +02:00
Romain Vimont
6b3d9e3eab
Add unit test for device message serialization
...
There was a test for the deserialization, but not for the serialization.
2019-07-30 12:17:33 +02:00
Romain Vimont
02692ffa42
Rename "build_" to "compile_"
...
Recent versions of meson complain about an option having name starting
with "build_":
> DEPRECATION: Option uses prefix "build_", which is reserved for Meson.
> This will become an error in the future.
Use "compile_" instead.
2019-07-29 15:19:07 +02:00
Jonathan
3b69463e61
Update README.md
...
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-07-29 14:59:44 +02:00
Romain Vimont
9dea6d2384
Add me as copyright owner
2019-07-29 14:59:44 +02:00
Romain Vimont
3c55d0c69b
Fix double-free on error
...
If writing the recording header fails, do not clean the resources
immediately to avoid double-free.
2019-07-12 21:07:06 +02:00
Romain Vimont
4961256123
Close decoder on stream ended
...
Add missing call to decoder_close().
2019-06-26 23:50:39 +02:00
Romain Vimont
e4ac943d86
Document --window-title in README
2019-06-24 21:37:38 +02:00
Romain Vimont
4b997239f3
Merge pull request #614 from beango1:window-title-simple
...
add option window-title to set the title
2019-06-24 21:32:45 +02:00
beango1
8e65c10720
Add option --window-title
...
Add an option to set a custom window title.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-06-24 19:58:00 +02:00
Romain Vimont
056e47e752
Replace "cannot" by "could not"
2019-06-23 20:52:03 +02:00
Romain Vimont
439b009a79
Fix expected parameters count in error message
2019-06-23 20:47:21 +02:00
Romain Vimont
91ecb4f218
Close socket on error
...
Suggested-by: barry-ran
<https://github.com/Genymobile/scrcpy/issues/607 >
2019-06-20 12:15:45 +02:00
Romain Vimont
bfb3f0842f
Prevent to turn screen off if no control
...
If --no-control is set, then the controller is not initialized (both in
the client and the server), so it is not possible to control the device
to turn its screen off.
See <https://github.com/Genymobile/scrcpy/issues/608 >.
2019-06-20 10:59:19 +02:00
Romain Vimont
87d7a157a9
Reference USBaudio from README
2019-06-20 10:47:02 +02:00
Romain Vimont
b91ecf5225
Fix --serial help
...
Make explicit that --serial excepts a parameter.
2019-06-18 17:13:53 +02:00
Romain Vimont
1807de4955
Merge pull request #595 from taaem/fix_build_fedora
...
The Java JDK is needed to build the server
2019-06-15 15:14:22 +02:00
taaem
0a233fd27f
Fix required java package for Fedora
...
The Java JDK is needed to build the server. The relevant Fedora package
is java-devel, not java.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-06-15 15:10:51 +02:00
Romain Vimont
4940746bcb
Remove useless else
...
The if-block ends with a return.
2019-06-14 10:15:53 +02:00
Romain Vimont
fe758e6e15
Improve comment
...
Rephrase to simplify and add a link to the issue.
2019-06-14 10:11:15 +02:00
Romain Vimont
b29a568f08
Merge pull request #587 from schwabe/fix_586_screen_off_qbeta
...
Use getPhysicalDisplayToken if getBuiltInDisplay is not found
2019-06-14 10:04:12 +02:00
Arne Schwabe
b769083a5b
Use getPhysicalDisplayToken on Anroid Q+ instead of getBuiltInDisplay
...
This makes the -S (screen off) parameter work on Android Q beta 4
Closes #586
2019-06-13 13:30:54 +02:00
Romain Vimont
8ca36406b9
Remove compilation flag "skip_frames"
...
It is unused since ebccb9f6cc
.
2019-06-12 11:43:18 +02:00
Romain Vimont
53310a925a
Disable portable build by default
...
The default value of a boolean meson option is true. We want
non-portable build by default.
2019-06-12 11:26:23 +02:00
Romain Vimont
0cb902d58b
Merge pull request #587 from zzndb/patch-1
2019-06-12 11:23:15 +02:00
zzndb
bcd0a876f7
Fix a spell mistake
...
After commented default portable option in `app/meson.build` get some
error and then find this. :)
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-06-12 11:22:50 +02:00
Romain Vimont
de2016a48e
Add link to Snap package in README
...
<https://github.com/Genymobile/scrcpy/issues/523 >
2019-06-11 23:41:56 +02:00
Romain Vimont
19ca6a0d66
Fix typo in README
2019-06-11 23:01:23 +02:00
Romain Vimont
e2996e85c0
Update links to v1.9 in README and BUILD
2019-06-11 23:00:09 +02:00
Romain Vimont
c2df0228a3
Merge branch 'dev'
2019-06-11 22:54:58 +02:00