Commit Graph

416 Commits

Author SHA1 Message Date
21pages
5c16a8302e
Revert vcpkg ffmpeg (#8751)
* Revert "fix linux ffmpeg link, still link ffmpeg in hwcodec (#8747)"

This reverts commit 48464835f5.

* Revert "fix linux armv7 ffmpeg arch, linux x64 sciter add hwcodec feature (#8744)"

This reverts commit b68d7a3054.

* Revert "arm linux remove cuda-llvm option (#8735)"

This reverts commit bc672b3367.

* Reapply "try fix arm64 linux ci and publish error log (#8730)" (#8732)

This reverts commit e283d33f28.

* Revert "try fix arm64 linux ci and publish error log (#8730)"

This reverts commit a4565bf0da.

* Revert "F-Droid: enable hwcodec for future builds (#8726)"

This reverts commit 188f85b042.

* Revert "remove unused vcpkg ffmpeg code (#8725)"

This reverts commit 72c96f22b6.

* Revert "install ffmpeg lib with vcpkg (#8724)"

This reverts commit 0143eaf601.

* update hwcodec to reverted

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 22:28:35 +08:00
21pages
48464835f5
fix linux ffmpeg link, still link ffmpeg in hwcodec (#8747)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 13:18:21 +08:00
21pages
0143eaf601
install ffmpeg lib with vcpkg (#8724)
* use vcpkg to install ffmpeg and build sdk from source, so no prebuild lib in hwcodec.
* link ffmpeg in rustdesk directly, ffmpeg can be used as basic library.
* for windows developers, `VCPKG_DEFAULT_HOST_TRIPLET` env need to be set to `x64-windows-static` during installation.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-16 15:10:24 +08:00
21pages
821f7245b0
videotoolbox ram codec (#8683)
* h265 encoding: the second frame always fails, use repeat encoding to achieve real-time encoding
* h264 encoding: Not supported because encoding fails too frequently, about 50%, with one failure followed by another success.
* h264/h265 decoding: No issues found.
* Does not support dynamically changing the bitrate and changing the quality by resetting the encoder.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-12 11:08:51 +08:00
RustDesk
ef4d84657b
Revert "feat: clipboard, multi format (#8672)" (#8673)
This reverts commit 011647511c.
2024-07-11 00:36:29 +08:00
fufesou
011647511c
feat: clipboard, multi format (#8672)
* feat: clipboard, multi format

Signed-off-by: fufesou <linlong1266@gmail.com>

* inline

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-11 00:05:25 +08:00
fufesou
0511cdbb21
feat: clipboard svg (#8615)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-05 09:30:59 +08:00
RustDesk
92d0fe1c3f
Revert "feat: clipboard svg (#8608)" (#8612)
This reverts commit a9015bcf70.
2024-07-04 21:31:19 +08:00
fufesou
a9015bcf70
feat: clipboard svg (#8608)
* feat: clipboard svg

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: is_last_plain, reset on clipboard event

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-04 21:23:08 +08:00
fufesou
2f40b9dc04
fix: build ios (#8570)
ld: Undefined symbols:
     _kSecMatchSubjectWholeString, referenced from:
         security_framework::item::ItemSearchOptions::search::he568de2b0004b0c0 in liblibrustdesk.a[872](security_framework-88ef6afe340eb2ab.security_framework.e4562ffe63567184-cgu.0.rcgu.o)

TODO:

There's also a warning after commit "2116fec20b5a2165df97e329c156baf308668efc".
No idea how to fix it. But it does not stop building.

ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-02 15:37:45 +08:00
rustdesk
3f2dfa521c fix ci 2024-07-01 01:43:16 +08:00
rustdesk
1f129e6ef3 change update_clipboard to threaded, since creating a context may take long 2024-06-30 17:05:09 +08:00
rustdesk
2116fec20b wl-clipboard-rs 0.9 and refresh cargo.lock 2024-06-30 12:07:32 +08:00
fufesou
c062813c6d
Upgrade arboard (#8522)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-06-28 23:15:33 +08:00
rustdesk
ed3fb1efa4 bump to 1.2.7 2024-06-28 09:59:10 +08:00
21pages
9c7d4ef1f7
not use nwg default features (#8492)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 12:11:08 +08:00
21pages
12d3c59172
windows portable loading ui (#8490)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 11:04:55 +08:00
21pages
30bd4e1cef
update hwcodec, use ms as pts like vpx (#8422)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-20 13:57:56 +08:00
rustdesk
99edab4b61 hide docker from tao, this may fix https://github.com/rustdesk/rustdesk/issues/8399 2024-06-19 16:25:48 +08:00
rustdesk
60dc40f47f try hide docker in tao delegate because hide in rustdesk side a bit late so that still seeing it sometimes
refactor service to make it restart after login to avoid delegate caught for seconds after login
also make main windows Close event restart itself for above case
2024-06-19 15:42:53 +08:00
21pages
37ebac2a9e
update hwcodec, remove AVCodecParserContext (#8389)
It was used to decode different resolution with same decoder, but may
cause crash.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-17 23:53:43 +08:00
fufesou
db108d964b
fix: build 09f452b055 (#8373)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-06-16 22:37:14 +08:00
rustdesk
8e12a34634 upgrade our ipc-parity and tokio-socks crate to tokio 1.38 2024-06-13 13:17:34 +08:00
rustdesk
77204127f2 use latest rust for non-windows, and upgrade tokio to 3.18 which fix a mpsc channel bug 2024-06-13 13:05:35 +08:00
21pages
610009528b
hwcodec, only process that start ipc server start check process (#8325)
check process send config to ipc server, other process get config from ipc server. Process will save config to toml, and the toml will be used if the config is none.

when start check process: ipc server process start or option changed
from disable to enable

when get config: main window start or option changed from disable to
enable, start_video_audio_threads.

Only windows implements signature, which is used to mark whether the gpu software and hardware information changes. After reboot, the signature doesn't change. https://asawicki.info/news_1773_how_to_programmatically_check_graphics_driver_version, use dxgi way to get software version, it's not consistent with the visible driver version, after updating intel driver with small version change, the signature doesn't change. Linux doesn't use toml file.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-12 20:40:35 +08:00
rustdesk
2dcd9f02cd bump to 1.2.6 2024-06-03 21:01:41 +08:00
21pages
68cabe596d
update hwcodec, fix wrong gop, which causes FFmpeg nvenc vram encode delay (#8220)
Signed-off-by: 21pages <pages21@163.com>
2024-05-31 16:44:18 +08:00
21pages
837382349e
fix the bottom of FFmpeg vram qsv encoding being cropped (#8191)
Signed-off-by: 21pages <pages21@163.com>
2024-05-29 13:34:22 +08:00
rustdesk
123a45149d bump to 1.2.5 2024-05-28 17:14:55 +08:00
21pages
c7308dbbc9
fix mediacodec bad encoding quality (#8159)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-27 19:34:40 +08:00
21pages
49b0630752
fix android mediacodec encoding align (#8121)
* update ffmpeg, mediacodec encode align 64
* more d3d11 decode availablity check
* remove unused mediacodec info

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-22 20:18:09 +08:00
21pages
a7499c2de8
add ffmpeg mediacodec h264/h265 encode (#8028)
* Check available when app start from kotlin via get codec info
* For latency free, repeat encode 10 frame at most when capture return WouldBlock
* For changing quality, kotlin support but jni doesn't support, rerun video service when quality is manualy
  changed
* 3 or 6 times bitrate for mediacodec because its quality is poor

Signed-off-by: 21pages <pages21@163.com>
2024-05-13 12:39:04 +08:00
rustdesk
4c99b8c70e upgrade tokio to 3.17 for a windows named pipe race condition,
https://github.com/tokio-rs/mio/pull/1760, https://github.com/tokio-rs/tokio/issues/6369
2024-05-12 14:08:21 +08:00
21pages
991694aca5
update hwcodec, qsv support changing bitrate (#7911)
Signed-off-by: 21pages <pages21@163.com>
2024-05-06 10:59:25 +08:00
21pages
4cf709fc26
update hwcodec, build linux ffmpeg lib on ubuntu 18 (#7897)
* Build linux ffmpeg lib on ubuntu 18 container
* Fix ffmpeg ram nvnec not work if the display connected to nvidia gpu
  is not the primary display
* Fix windows mfx lib link error if vram feature is not enabled.

Signed-off-by: 21pages <pages21@163.com>
2024-05-03 13:05:21 +08:00
21pages
f15bf8166f
fix visibilty of address book menu divider (#7890)
* fix visibilty of address book menu divider

Signed-off-by: 21pages <pages21@163.com>

* update hwcodec, fix nvenc use d3d11 without judging windows or linux

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-05-02 13:24:33 +08:00
21pages
b3b1f4664c
update hwcodec, fix wrong linux-x86_64 ffmpeg lib (#7883)
Signed-off-by: 21pages <pages21@163.com>
2024-05-01 19:15:21 +08:00
21pages
34c7c25908
update hwcodec, add windows ffmpeg vram encoding (#7876)
* windows add ffmpeg vram encoding
* windows add missing nvenc and qsv ram encoding, linux add vaapi, current codec table:  https://github.com/21pages/hwcodec?tab=readme-ov-file#codec

Signed-off-by: 21pages <pages21@163.com>
2024-05-01 00:07:09 +08:00
21pages
bd717349a7
update hwcodec, fix screen jitter (#7857)
Signed-off-by: 21pages <pages21@163.com>
2024-04-28 13:26:55 +08:00
21pages
2626dcbc5f
fix black screen issue when controlling the second screen on versions that lack multiple display support while using vram decoding (#7836)
* avoid create unnecessary video decoder

Signed-off-by: 21pages <pages21@163.com>

* controlled side uses the most frequent selected codec

Signed-off-by: 21pages <pages21@163.com>

* fix black screen when control old version's second screen

For versions that do not support multiple displays, the display parameter is always 0, need set type of current display

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-26 19:42:47 +08:00
21pages
0e7e27f99d
update hwcodec, fix gpu/cpu stuck caused by nv codec (#7826)
* Disable all nv codec encoding on windows except nv sdk encoding,
  because it doesn't use CUContext
* Keep nv codec on linux, because I didn't reproduce the stuck on it
* Add ffmpeg d3d11 vram decoding

Signed-off-by: 21pages <pages21@163.com>
2024-04-25 20:16:48 +08:00
yuluo
43a0a4f8e0
fix: http/https proxy (#7821)
* add http(s) proxy

* Add front-end translation

* fix ui description

* For linux platform, add rustls support

* fix: Fix the proxy address test function.

* add: Added default prompts for agency agreement and some multi-language translations

* add: Http proxy request client

* fix: add async http proxy func and format the code

* add: Preliminary support for flutter front-end calling rust back-end http request

* Optimize HTTP calls

* Optimize HTTP calls

* fix: Optimize HTTP requests, refine translations, and fix dependencies

* fix: Win and macOS compilation errors

* fix: web platforms

* fix: Optimize import

* fix: Fix web platform issues

* fix: Fix web platform issues

* fix: update ci

* fix: test ci

* test: test CI

* Revert "fix: update ci"

This reverts commit 2e5f247b2e.

* test: test CI

* test: test CI

* fix: fix lock file

* fix: Optimize imports
2024-04-25 11:46:21 +08:00
RustDesk
ac7f8a6447
Revert "http/https proxy (#7600)" (#7801)
This reverts commit da57fcb641.
2024-04-23 15:26:16 +08:00
yuluo
da57fcb641
http/https proxy (#7600)
* add http(s) proxy

* Add front-end translation

* fix ui description

* For linux platform, add rustls support

* fix: Fix the proxy address test function.

* add: Added default prompts for agency agreement and some multi-language translations

* add: Http proxy request client

* fix: add async http proxy func and format the code

* add: Preliminary support for flutter front-end calling rust back-end http request

* Optimize HTTP calls

* Optimize HTTP calls

* fix: Optimize HTTP requests, refine translations, and fix dependencies
2024-04-23 15:00:23 +08:00
fufesou
4f47d4482b
refact: win, idd control (#7789)
* refact: win, idd control

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: win device control, better addr of

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: simple refact

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-22 10:37:08 +08:00
21pages
4d3fb77786
remove hwcodec for sciter armv7 (#7753)
Signed-off-by: 21pages <pages21@163.com>
2024-04-18 16:19:29 +08:00
21pages
4252b5e273
enable ffmpeg native h26x software decoders for all platforms (#7750)
* enable ffmpeg native h26x software decoders for all platforms

* h26x software decoders depend on hwcodec feature, so all platforms
  enable it, software h26x decoders are always available like vpx, no available check and no option
* ffmpeg:
	- build: mac arm64 build ffmpeg with my m1, others build with ci
	- version: win/linux use ffmpeg release/5.1, becaues higher version require higher nvidia driver,  other platforms use release/7.0
* test:
	- ios not test.
	- android: sometimes the screen will appear blurry, but it will recover after a while.
	- arm64 linux: test a example of hwcodec repo

Signed-off-by: 21pages <pages21@163.com>

* check hwcodec only when enabled and immediately when clicked enabled

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-18 13:12:45 +08:00
21pages
98df2b111e
hwcodec uses one repository (#7701)
* update hwcodec, gpucodec repo is merged to hwcodec

Signed-off-by: 21pages <pages21@163.com>

* rename gpucodec.rs to vram.rs

Signed-off-by: 21pages <pages21@163.com>

* rename all gpucodec to vram, because vram is a feature of hwcodec

Signed-off-by: 21pages <pages21@163.com>

* use one check process and one config file

* set check encode image size to 720p

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-12 17:26:24 +08:00
rustdesk
d8875f381b protobuf 3.4 2024-04-12 11:38:19 +08:00
rustdesk
1fa3837bb0 revert back to async_trait since having to use 1.75 because of win7
support
2024-03-27 03:36:33 +08:00