Comments (11)
I'm aware of this. I've got most of the protocol changes figured out.
Pairing had some changes (replacing SHA-1 hashing with SHA-256) so we'll need to update clients that rely on moonlight-common-c individually - moonlight-stream/moonlight-common-android@4560fa4
RTSP changed a bit but it was easy to fix (haven't pushed yet). Video and audio both look fine. The control protocol seems the same as Gen 5, though I believe the remote input stream encryption has changed from AES CBC to AES GCM. I suspect that's the only change (similar to pairing), but I'm still working out the specifics there.
from moonlight-common-c.
I'm going to use OpenSSL. It's already being linked to on Moonlight iOS and Moonlight Embedded.
from moonlight-common-c.
The problem turned out to be a bug in moonlight-embedded. It was sending the PC an AES IV of 1 then telling moonlight-common-c to use an IV of 0.
I fixed it in my PR: moonlight-stream/moonlight-embedded#351
from moonlight-common-c.
That's weird, pairing is working fine here. Just had to revert some stuff in moonlight-embedded that was not working. (moonlight-stream/moonlight-embedded@016ac91)
Thanks for the reply 😄
from moonlight-common-c.
Just saw that OpenAES does not support GCM, what are you guys planning to use instead?
from moonlight-common-c.
I was messing around here with OpenSSL and EVP trying to make this work...
It's not working but I think it's almost done https://gist.github.com/dead/5c65902e16dc290fc8b63c2e1baf6b2f
Probably I'm missing something...
from moonlight-common-c.
Fixed
from moonlight-common-c.
I'm getting:
Initializing platform...done
Resolving host name...done
Starting RTSP handshake...done
Initializing control stream...done
Initializing video stream...done
Initializing audio stream...done
Initializing input stream...done
Starting control stream...done
Starting video stream...done
Starting audio stream...done
Starting input stream...done
Error: cannot keep up
Control stream received disconnect event
Loss Stats: Transaction failed: 11
Stopping input stream...done
Stopping audio stream...done
Stopping video stream...done
Stopping control stream...done
Cleaning up input stream...done
Cleaning up audio stream...done
Cleaning up video stream...done
Cleaning up control stream...done
Terminating RTSP handshake...done
Cleaning up platform...done
from moonlight-common-c.
What code are you running?
from moonlight-common-c.
I'm using https://github.com/dead/moonlight-embedded and the latest moonlight-common-c
from moonlight-common-c.
Thanks!
from moonlight-common-c.
Related Issues (20)
- Extend support for other game streaming protocols HOT 1
- steamlink support? HOT 1
- LGPLv3 License
- RTX 3080 not support hevc? HOT 1
- Simultaneously stream to multiple clients HOT 1
- Not streaming due to "DRM"
- Controller no longer recognized
- questions about copyright HOT 1
- Nintendo Switch port (Need help) HOT 9
- Audio block size mismatch when connected to Sunshine server HOT 3
- Stream locked to 30 FPS with 0 frame dropped HOT 1
- Where can i find the reference for nv gamestream protocol? HOT 4
- and documents or simple demo on howto use libmoonlight-common-c.so ?
- BT.709 and full color range by default HOT 2
- Game session closed automatically HOT 5
- Can you run Moonlight on Samsung TVs? HOT 1
- Feature Request - ability to remap "exit stream" gamepad buttons
- Can you write a development document? HOT 1
- PS Vita crashes with Sunshine AMD on Linux HOT 1
- Moonlight on Playstation portal
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moonlight-common-c.