Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 6.0 #248

Merged
merged 126 commits into from
Jan 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
a7975fe
Experimental new client GUI
exelix11 Aug 26, 2023
81f960f
Check android dependencies with build script
exelix11 Aug 26, 2023
8dcd62b
Drop support for client rtsp server
exelix11 Aug 26, 2023
6f0f064
Download bflat from buildscript
exelix11 Aug 26, 2023
d31470f
Framerate cap and UI improvements
exelix11 Aug 27, 2023
f2cdcd9
Scrollable windows
exelix11 Aug 27, 2023
cf6a118
Player view WIP
exelix11 Aug 27, 2023
e5e6787
Refactor sysmodule for standalone testing, network advertisement for …
exelix11 Aug 27, 2023
ffe370a
Fix UDP broadcast socket, devices scan UI, allow chaining outstreams
exelix11 Aug 28, 2023
7472e7f
Net Connection flow working
exelix11 Aug 28, 2023
d9b5c9f
Async connections and error reporting
exelix11 Aug 28, 2023
e6f2c0a
Fatal errors UI
exelix11 Aug 28, 2023
e23b3f5
Usb streaming, bug fixes
exelix11 Aug 28, 2023
17fdabd
Build for android
exelix11 Aug 29, 2023
cf9f122
Properly work on android
exelix11 Aug 29, 2023
cf47ecc
Support resuming activity on android
exelix11 Aug 29, 2023
d877698
Terminate on fatal exception
exelix11 Aug 29, 2023
628f952
Fix softlock during device connection
exelix11 Aug 29, 2023
834ed79
Fork libusbdotnet, Usb working on android
exelix11 Aug 31, 2023
52126a0
Add patches for SDL and libusb needed for android support
exelix11 Aug 31, 2023
03c94c7
Finish USB UI, android fixes
exelix11 Sep 2, 2023
bcbd930
Build for android TV (arm64 only)
exelix11 Sep 2, 2023
b3532c6
Load build id from resources, mark unsupported features as such
exelix11 Sep 2, 2023
cc85ef3
Fix sysmodule build
exelix11 Sep 2, 2023
0443195
Update gradle so android studio shuts up
exelix11 Sep 2, 2023
2d5be36
Open URLs on android, fix some native lib issues
exelix11 Sep 2, 2023
877b651
CI script
exelix11 Sep 2, 2023
ca747f3
Fork ffmpeg.autogen to fix android library loader issue
exelix11 Sep 2, 2023
587a890
Fix building sysmodule
exelix11 Sep 2, 2023
43f1f05
Warn when package name is different
exelix11 Sep 5, 2023
0e60400
Try to use gradle cache for CI
exelix11 Sep 7, 2023
d37e816
Use dotnet 7 in CI builds
exelix11 Sep 7, 2023
51da16f
Fix assets symlink
exelix11 Sep 7, 2023
e216800
fix ln -s arguments order
exelix11 Sep 7, 2023
1e87be9
Add android and linux to the excluded folders for auto CI runs
exelix11 Sep 7, 2023
8d1a97c
Update build scripts for .net7, try to fix android symlinks
exelix11 Sep 7, 2023
b561691
Fix gradlew permissions, try to cache native deps
exelix11 Sep 7, 2023
c2d3e8e
Add CI dependencies for android build
exelix11 Sep 7, 2023
9e68520
Disable client CI for now, fix yaml typo
exelix11 Sep 7, 2023
0a30b12
Fix missing imgui sources
exelix11 Sep 7, 2023
72dcd58
Update buildbinaries.sh
exelix11 Sep 7, 2023
ccd8b32
Pin the ndk version for CI, add proper app icons
exelix11 Sep 7, 2023
fa7bdff
Windows build script
exelix11 Sep 9, 2023
5ea2e52
Bind android cache to the build script hash
exelix11 Sep 9, 2023
6cf494b
Trigger new workflows on push so github webUI is happy
exelix11 Sep 9, 2023
b4dc12f
Update client-cross.yml
exelix11 Sep 9, 2023
e1a7f95
Fix dotnet build script
exelix11 Sep 9, 2023
73c856c
Refactor video player outside of the player view
exelix11 Sep 11, 2023
b2d6f3b
Capture screenshots
exelix11 Sep 12, 2023
309143c
Screenshot hotkey
exelix11 Sep 12, 2023
eeca18b
Support requesting permissions and saving files on android
exelix11 Sep 12, 2023
98b27fb
Fix AOT compilation warnings
exelix11 Sep 12, 2023
aad7c6f
Fix all the remaining AOT warnings
exelix11 Sep 12, 2023
509fb76
Use a single library loader impl for Windows, Android an Linux
exelix11 Sep 12, 2023
9d54474
Flatpak linux build
exelix11 Sep 12, 2023
fe33fa1
Flatpak linux CI
exelix11 Sep 12, 2023
dfda212
Kick linux CI build
exelix11 Sep 12, 2023
47e9272
Fix android library loader issue
exelix11 Sep 13, 2023
3c2f0d5
Update client-linux-x64.yml
exelix11 Sep 13, 2023
894ca42
Create readme.ThirdParty/Readme.md
exelix11 Sep 13, 2023
ce01fab
Update android readme.md
exelix11 Sep 13, 2023
3f516bd
Better handling of popups, build for mac os
exelix11 Sep 15, 2023
c35e2be
Update client-macos.yml
exelix11 Sep 15, 2023
783b61b
Update client-macos.yml
exelix11 Sep 15, 2023
d35968a
Bump SDL android version
exelix11 Sep 16, 2023
4ec4a46
Bind android cache to the hash of the build script
exelix11 Sep 16, 2023
6d8c274
Update NDK version
exelix11 Sep 16, 2023
31f2a06
Update SDL java sources
exelix11 Sep 17, 2023
c53e001
More logging at android activity creation to debug startup issues
exelix11 Sep 17, 2023
8ac642a
Update BuildMacos.sh
exelix11 Sep 17, 2023
fddb223
Verbose debug library loading, workaround mac os signature issues
exelix11 Sep 17, 2023
573df6f
Add buildid.txt for all CI builds, Make macos zips with exec permission
exelix11 Sep 17, 2023
1814c94
Delete cimgui.so
exelix11 Sep 17, 2023
b73212a
Use dotnet 8 instead of bflat for android
exelix11 Sep 17, 2023
aed36f5
Update readme.md
exelix11 Sep 17, 2023
6452c0b
Update client-android.yml
exelix11 Sep 17, 2023
6bb77ff
Update client-android.yml
exelix11 Sep 17, 2023
0795249
Update client-android.yml
exelix11 Sep 17, 2023
2dd6d14
Update client-android.yml
exelix11 Sep 17, 2023
4c3650e
Tweak timings and audio buffer sizes
exelix11 Sep 22, 2023
d1df087
Try SDL_QueueAudio instead of callback to fix mac os issues
exelix11 Sep 22, 2023
88b4f03
Revert "Try SDL_QueueAudio instead of callback to fix mac os issues"
exelix11 Oct 9, 2023
6f08f99
Support both SDL audio strategies for optimal compatibility
exelix11 Oct 9, 2023
2609a6c
Video recording
exelix11 Oct 9, 2023
ea63a79
thread safe RefCounts for packets
exelix11 Oct 25, 2023
344d815
New protocol (WMI)
exelix11 Oct 25, 2023
b74d04d
Fix build
exelix11 Oct 26, 2023
ca4372d
Implement new protocol in client
exelix11 Oct 27, 2023
fe694db
Configurable streaming options with initial hashing support. Increase…
exelix11 Oct 27, 2023
0f05148
Better error handling in StreamingThread
exelix11 Oct 27, 2023
926cdcd
Pure async streaming pipeline
exelix11 Oct 28, 2023
ea2c30c
Android support, migrate remaining sources to async
exelix11 Oct 28, 2023
39939e0
Use Replay packets instead of hash, GUI fixes
exelix11 Oct 28, 2023
e0a8f3d
Remove debug options from settings app, compile sysmodule without malloc
exelix11 Oct 28, 2023
78e92af
Update sockets.c
exelix11 Oct 28, 2023
235f74d
Fix android build
exelix11 Nov 2, 2023
78e4543
WIP gui settings
exelix11 Nov 13, 2023
7520805
Refactor debug options to regular options
exelix11 Nov 13, 2023
429b579
Implement "Uncap" options
exelix11 Nov 13, 2023
5dbf6de
Fix settings comboboxes not working
exelix11 Nov 13, 2023
ed08607
Store settings to JSON (no android support yet)
exelix11 Nov 13, 2023
490c74e
Tweak font loading
exelix11 Nov 21, 2023
dfd9968
Command line args
exelix11 Nov 21, 2023
6f67de5
UI changes
exelix11 Dec 9, 2023
6897b97
Refactor the SDL context out of the main program window
exelix11 Dec 9, 2023
cec47b8
Legacy player mode with no additional GUI
exelix11 Dec 9, 2023
5f43f22
Port Windows driver install to the new client
exelix11 Dec 9, 2023
99b7837
Remove the old ClientGUI project
exelix11 Dec 9, 2023
1c259e1
Update BuildWindows.bat
exelix11 Dec 9, 2023
267bbb1
Make DeviceInfo IDisposable to avoid leaking USB handles on errors
exelix11 Dec 9, 2023
c739820
Save screenshot to clipboard on Windows, more player hotkeys
exelix11 Dec 16, 2023
e8859cf
Debug font scale option
exelix11 Dec 16, 2023
b29e32c
UI text changes
exelix11 Dec 16, 2023
16ec9ce
Remove windows ifdefs to fix build
exelix11 Dec 16, 2023
943461c
Fix MacOS architecture build mix up
exelix11 Dec 16, 2023
1c07b0e
Try to fix mac os library signature issues
exelix11 Dec 16, 2023
4cc4fee
Add protocol reference, add sanity checks in TCP protocol handshakes
exelix11 Dec 24, 2023
6069be3
Allow disabling UDP broadcast
exelix11 Dec 24, 2023
19b4c6e
Streamline the build process by removing old flags, target dotnet 8.0…
exelix11 Jan 2, 2024
ebd6593
Fix android build, fix warnings from new dotnet
exelix11 Jan 2, 2024
f890be3
Fix multiple android crashes
exelix11 Jan 2, 2024
077fab7
Save GUI size to options
exelix11 Jan 2, 2024
d41facb
Use assembly properties to store the build id
exelix11 Jan 2, 2024
0176766
Remind the user to allow sysdvr in the firewall
exelix11 Jan 2, 2024
8798bda
Bump version to 6.0
exelix11 Jan 2, 2024
7eaddb7
Merge branch 'master' into 6.0
exelix11 Jan 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
61 changes: 57 additions & 4 deletions .github/workflows/client-android.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,65 @@
name: SysDVR-Client android

# This workflow is not implemented in the main branch yet, it's here so github lets us run it in the 6.0 branch

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
steps
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.x
- name: Setup JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Setup Android SDK
uses: amyu/setup-android@v3
with:
ndk-version: "25.2.9519653"
- name: Configure native cache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/Client/Platform/Android/app/jni/cimgui
${{ github.workspace }}/Client/Platform/Android/app/jni/libusb
${{ github.workspace }}/Client/Platform/Android/app/jni/SDL
${{ github.workspace }}/Client/Platform/Android/app/jni/SDL_Image
${{ github.workspace }}/Client/Platform/Android/app/libs
${{ github.workspace }}/Client/Platform/Android/bflat
key: deps-cache-${{ hashFiles('Client/Platform/Android/buildbinaries.sh') }}-${{ hashFiles('Client/Platform/Android/patches') }}
restore-keys: deps-cache-${{ hashFiles('Client/Platform/Android/buildbinaries.sh') }}-${{ hashFiles('Client/Platform/Android/patches') }}
- name: Build client native lib
run: |
export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/:$PATH
cd ./Client/Platform/Android
ls -la
ln -s $(pwd)/../Resources/resources $(pwd)/app/src/main/assets
chmod +x buildbinaries.sh
./buildbinaries.sh
- name: Extract keystore from secrets
run: |
echo ${{ secrets.ANDROID_CI_CERT }} | base64 -d > /tmp/CI.jks
- name: Configure gradle cache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/Client/Platform/Android/.gradle
${{ github.workspace }}/Client/Platform/Android/app/build
key: build-cache-${{ hashFiles('Client/Platform/Android/buildbinaries.sh') }}-${{ hashFiles('Client/Platform/Android/patches') }}
restore-keys: build-cache-
- name: Build app with gradle
run: |
cd ./Client/Platform/Android
chmod +x gradlew
./gradlew assembleRelease
env:
ANDROID_CI_KEY: ${{ secrets.ANDROID_CI_KEY }}
- uses: actions/upload-artifact@v3
with:
name: SysDVR-Client
path: ./Client/Platform/Android/app/build/outputs/apk/release/app-release.apk
31 changes: 28 additions & 3 deletions .github/workflows/client-cross.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,37 @@
name: SysDVR-Client dotnet build

# This workflow is not implemented in the main branch yet, it's here so github lets us run it in the 6.0 branch
# This is the "cross platform" build of SysDVR-Client, it only produces clean .net binaries without dependencies
# All the other builds are platform specific and produce a native AOT build with all the dependencies included

on:
workflow_dispatch:
push:
branches: [ master ]
paths:
- Client/**
# but not the multiplatform builds
- '!Client/Platform/Android/**'
- '!Client/Platform/Linux/**'
pull_request:
branches: [ master ]
paths:
- Client/**
- '!Client/Platform/Android/**'
- '!Client/Platform/Linux/**'

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: 8.x
- name: Run dotnet build
run: |
cd Client
dotnet build -c Release
- uses: actions/upload-artifact@v3
with:
name: SysDVR-Client-dotnet.zip
path: Client/bin/Release/net7.0/
34 changes: 0 additions & 34 deletions .github/workflows/client-flatpak.yml

This file was deleted.

28 changes: 25 additions & 3 deletions .github/workflows/client-linux-x64.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,34 @@
name: SysDVR-Client flatpak linux x64

# This workflow is not implemented in the main branch yet, it's here so github lets us run it in the 6.0 branch

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Install flatpak
run: |
sudo apt update
sudo apt install flatpak flatpak-builder -y
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"
- name: Cache flatpak builds
uses: actions/cache@v3
with:
path: Client/Platform/Linux/.flatpak-builder
key: flatpak-${{ runner.os }}
- name: Run build script
run: |
cd Client/Platform/Linux
chmod +x build-flatpak.sh
./build-flatpak.sh
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: SysDVR-Client.flatpak
path: Client/Platform/Linux/SysDVR-Client.flatpak
27 changes: 24 additions & 3 deletions .github/workflows/client-macos.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,33 @@
name: SysDVR-Client macos (cross platform)

# This workflow is not implemented in the main branch yet, it's here so github lets us run it in the 6.0 branch

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
shell: bash
run: brew install dmg2img
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"
- name: Run build script
shell: bash
run: |
cd Client/Platform/
chmod +x BuildMacos.sh
./BuildMacos.sh
- name: Upload artifact (intel)
uses: actions/upload-artifact@v3
with:
name: SysDVR-Cilent macos intel
path: Client/SysDVRClient-MacOs-x64.zip
- name: Upload artifact (arm)
uses: actions/upload-artifact@v3
with:
name: SysDVR-Cilent macos arm
path: Client/SysDVRClient-MacOs-arm64.zip
19 changes: 15 additions & 4 deletions .github/workflows/client-windows-x64.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
name: SysDVR-Client Windows x64

# This workflow is not implemented in the main branch yet, it's here so github lets us run it in the 6.0 branch

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: 8.x
- name: Run build script
shell: cmd
run: |
cd Client\Platform
.\BuildWindows.bat
- uses: actions/upload-artifact@v3
with:
name: SysDVR-Client-Windows-x64
path: Client\Client.7z
42 changes: 0 additions & 42 deletions .github/workflows/client.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -363,3 +363,5 @@ SysmoduleRelease/
*.o
*.lst
*.map
Client/Platform/Resources/resources/buildid.txt
Client/Platform/Android/app/src/main/assets
Loading
Loading