Commit graph

611 commits

Author SHA1 Message Date
Barry
08da6cfbc1 fix:forward情况下,connectto里面固定延时1000不合理,有的手机卡,需要2000甚至更高,改为定时重试策略 2019-06-20 15:59:46 +08:00
Barry
f5a9a399f0 add:增加是否直接使用forward的选项 2019-06-20 14:33:20 +08:00
Barry
c713c292cc update:更新bug描述 2019-06-20 14:04:10 +08:00
Barry
f22d47a1c5 add:增加自定义adb执行 2019-06-20 13:56:55 +08:00
Barry
3b69108c7c update:重新调整整个项目结构 2019-06-20 13:07:01 +08:00
Barry
8fd67f6b58 update:抽象出device,为多台连接做准备 2019-06-20 12:54:43 +08:00
Barry
3c8c258a79 update:修复内存泄漏 2019-06-20 10:35:16 +08:00
Barry
641c524e43 update:将控制功能移植到controller中 2019-06-20 10:08:24 +08:00
Barry
717fe06f74 update:重构controller
controller管理inputconvert和receiver
receiver负责接收终端的消息
inputconvert负责转化鼠标键盘消息
2019-06-20 09:18:00 +08:00
Barry
299cbb5c28 update:
调整关闭屏幕和电源按钮的功能实现
安卓targetsdk更新到29
2019-06-19 20:34:27 +08:00
Barry
278d153f0e update:调整资源文件 2019-06-19 19:43:52 +08:00
Barry
d67a178288 fix:复制粘贴重复处理问题 2019-06-19 18:12:27 +08:00
Barry
2ec0a36f08 update:同步scrcpy 2019-06-19 18:05:17 +08:00
Barry
b92199dea3 update:event改为message更恰当 2019-06-19 16:13:58 +08:00
Barry
e010199752 add:实现剪切板功能 2019-06-19 14:33:20 +08:00
Barry
eb06924061 update:视频传输和控制指令改为两个不同的socket videosocket负责视频接收 controlsocket负责指令发送 2019-06-18 20:25:38 +08:00
Barry
1f073c2929 update:合并command命令 2019-06-18 16:37:12 +08:00
Barry
8735f3b3b6 fix:修复文本注入bug 2019-06-18 15:55:27 +08:00
Barry
fe882ab3f1 fix:server下拉菜单功能增加兼容性 2019-06-18 15:50:02 +08:00
Barry
c7f337dee7 update:添加方法以记录错误而不抛出 2019-06-18 15:47:00 +08:00
Barry
6cc9cfbed1 fix: server checkstyle errors
Fix errors reported by:

    gradle -p server check
2019-06-18 15:43:53 +08:00
Barry
66c2e45ea9 fix:Do not call codec.stop() on exception 2019-06-18 15:29:11 +08:00
Barry
a925de05fa update:stream放到单独模块 2019-06-18 15:21:09 +08:00
Barry
696212f09e update:decoder and recorder接口只读变量增加const 2019-06-18 15:17:48 +08:00
Barry
01cb767d2f update:修改videobuffer提供帧的逻辑使得易于理解 2019-06-18 15:09:33 +08:00
Barry
aa899d7ad7 update:VideoForm成员变量m_decoder改为堆上创建 2019-06-18 14:53:42 +08:00
Barry
61f2b0582c update: VideoForm成员变量m_vb改为堆上创建 2019-06-18 14:49:18 +08:00
Barry
60507d6cc6 Add stream layer
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.
2019-06-18 14:40:25 +08:00
Barry
3a9b7bd640 fix:recording with old decoding/encoding API
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.
2019-06-15 18:33:08 +08:00
Barry
07ad3d1395 update:VideoBuffer stop重命名为interrupt 2019-06-15 18:29:19 +08:00
Barry
c343052e6c update:frame类重命名为videobuffer类 2019-06-15 18:25:32 +08:00
Barry
7f2509cbed update:移除解码器中没用的mutex 2019-06-15 18:09:28 +08:00
Barry
0da3fca247 add:下拉通知栏 2019-06-15 18:07:16 +08:00
Barry
33867d2668 add:视频窗口始终在前 2019-06-15 07:56:06 +08:00
Barry
03d594ee52 update:固定尺寸 2019-06-15 07:34:36 +08:00
Barry
c1c8f56265 add:compat.h 2019-06-15 07:24:07 +08:00
Barry
f02bae1e70 add:录像支持mkv 2019-06-15 06:45:12 +08:00
Barry
e4b3fb76d9 fix:decoder内存泄漏 2019-06-12 09:14:44 +08:00
Barry
97f7935904 add:Rescale packet timestamp to container time base
Some containers force their own time base. For example, matroska
overwrite time_base to (AVRational) {1, 1000}.

Therefore, rescale our packet timestamps to the output stream time base.
2019-06-12 09:07:31 +08:00
Barry
48aa5e5390 update:Write header file with correct extradata 2019-06-12 08:56:19 +08:00
Barry
9c82d34500 add:转发ffmpeg log 2019-06-12 08:08:26 +08:00
Barry
752dec58a8 fix:decoderBuffer内存泄漏 2019-06-12 07:49:35 +08:00
Barry
9ae287e5df fix:incorrect comment 2019-06-12 07:07:10 +08:00
Barry
27f9215f54 add:增加bug备注 2019-05-07 23:38:10 +08:00
Barry
cb9e303d07 Merge branch 'master' of https://gitee.com/Barryda/QtScrcpy 2019-04-14 14:04:53 +08:00
Barry
24012ef2af update:add default port 2019-04-14 14:04:33 +08:00
rankun
d12e1e7bf4 fix:mac编译不过 2019-03-21 14:35:06 +08:00
Barry
72350665dc Merge branch 'master' of https://gitee.com/Barryda/QtScrcpy 2019-02-25 22:35:30 +08:00
Barry
79b91d59f8 forward时防止早连接 2019-02-25 22:35:08 +08:00
rankun
bdae96379f update:mousetap重构 2019-02-18 13:27:54 +08:00