Commit Graph

142 Commits

Author SHA1 Message Date
kixelated 56adbf89f5
Relay support (#38)
Untested for contribution while I work on JS stuff.
2023-06-26 11:51:06 -07:00
kixelated 3daa2f4812
Cargo layout (#36)
Combine moq-transport and moq-media into one crate again. 

I might regret this because moq is taken on crates.io.
2023-06-16 20:36:07 -07:00
kixelated 4c04fbf2b8
Varint as an explicit type (#35) 2023-06-16 19:52:52 -07:00
kixelated d7872ef77d
Implement (forked) moq-transport-00 (#34)
Not backwards compatible.

JS side: https://github.com/kixelated/moq-js/pull/14
2023-06-16 11:38:19 -07:00
Luke Curley 9c17146746 Minor changes after trying to improve media subscriptions.
Got carried away with traits but it's not worth.
2023-06-08 10:47:15 -07:00
kixelated f0dafdf784
Enable BBR. (#22) 2023-06-08 10:08:18 -07:00
kixelated c88f0b045a
Migrate to quinn and async Rust (#21)
I miss quiche, but it was a pain to do anything asynchronous. MoQ is a
pub/sub protocol so it's very important to support subscribers
joining/leaving/stalling. The API is also just significantly better
since quinn doesn't restrict itself to C bindings, which I'm sure will
come back to haunt me when we want OBS support.
2023-06-08 00:01:34 -07:00
Luke Curley 7cfa5faca2 Correct default media path. 2023-05-30 13:27:16 -07:00
Luke Curley a501f91dae Panic if we can't open the media file. 2023-05-26 14:59:12 -07:00
Luke Curley c09306fd8c Rename the quiche fork. 2023-05-26 14:59:00 -07:00
kixelated 1febcb2e4a
Serve the certificate fingerprint over HTTP (#20)
It's a bloated solution, but it's required for local development until
Chrome supports self-signed WebTransport CAs.
2023-05-24 17:20:44 -07:00
Luke Curley ea918a6327 Oops duplicated web requirements. 2023-05-24 14:29:34 -07:00
Luke Curley 38ea8983d4 Split the web player into it's own repo.
https://github.com/kixelated/moq-js
2023-05-24 13:29:18 -07:00
kixelated fc958e11ae
Split audio into 1s streams (#19) 2023-05-24 12:55:36 -07:00
Luke Curley 05fccc2ae8 Fix decoding. 2023-05-23 15:15:53 -07:00
kixelated f4c8c6cf89
Tabs not spaces u nerds. (#18) 2023-05-23 12:04:27 -07:00
kixelated dfe5cc1771
Merge pull request #17 from kixelated/more-lint
More linting.
2023-05-22 22:11:45 -07:00
Luke Curley d3d1c17520 Use the simple CLI command. 2023-05-22 22:08:34 -07:00
Luke Curley 7b13dfe989 Use a different Github action. 2023-05-22 22:05:07 -07:00
Luke Curley e3ca13dd50 default working-directory 2023-05-22 21:58:05 -07:00
Luke Curley bec525e042 Add working directory. 2023-05-22 21:56:16 -07:00
Luke Curley 7843f8b0e4 Using spaces is WAY better for your career.
This is because in JavaScript, there is a HEAVY perception bias against tab users.

Most ES6 developers look down on anyone who uses tabs.
This could easily mean the difference between getting a job offer and being rejected.
It could mean tens of thousands of dollars of salary potential.

https://medium.com/mintbean-io/tabs-or-spaces-for-practical-javascript-developers-the-answer-is-clear-f66c0458aa1e
2023-05-22 21:49:59 -07:00
Luke Curley cc8792da09 More linting. 2023-05-22 21:43:48 -07:00
kixelated f05bd5a0ac
Merge pull request #16 from kixelated/lint
Lint typescript code
2023-05-22 20:31:09 -07:00
Luke Curley 062cda0b12 Rename some of the events. 2023-05-22 20:23:06 -07:00
Luke Curley 2b943aee8a Generate a cert to fix the issue. 2023-05-22 20:19:07 -07:00
Luke Curley 77be6fa12d Add a GH workflow. 2023-05-22 20:12:14 -07:00
Luke Curley 226f4680a3 Merge remote-tracking branch 'origin/main' into lint 2023-05-22 20:08:48 -07:00
kixelated a1daa3687e
Add a Github action to compile the server 2023-05-22 16:01:40 -07:00
Luke Curley a2371dada6 Add a typescript linter. 2023-05-22 15:54:30 -07:00
kixelated 5410a3767f
Merge pull request #15 from kixelated/quiche
Switch from Go to Rust
2023-05-22 15:25:06 -07:00
Luke Curley 4585a0c04e Merge remote-tracking branch 'origin/main' into quiche 2023-05-22 15:24:43 -07:00
Luke Curley 1137f3024c Add qlog support and update dependencies. 2023-05-22 15:23:15 -07:00
Luke Curley e15812ebed Fix some crashes with the server. 2023-05-22 15:22:52 -07:00
Luke Curley 58a1aa85ac Fix audio crashing after some time. 2023-05-22 14:09:11 -07:00
Luke Curley 4132d8db4d Fix audio crashing after some time. 2023-05-22 13:49:02 -07:00
Luke Curley 3f6ea42380 Fixed audio. 2023-05-22 13:30:46 -07:00
Luke Curley a9fd9186d2 Add the fingerprint symlink back. 2023-05-18 12:09:31 -07:00
Luke Curley 16abb2d6dc Fix docker-compose so it uses the right cert hex. 2023-05-18 12:05:38 -07:00
Luke Curley 4675c27179 Make a docker-compose ez mode. 2023-05-16 10:23:50 -07:00
kixelated 7bb6068951
Merge pull request #13 from wanjohiryan/patch-1
Fix for audio breaking after a certain time into the stream
2023-05-15 19:44:14 -07:00
Wanjohi 14bb3e80b1
Fix for endIndex == 0 breaking audio
The audio seems to break whenever endIndex goes to O, making "second" variable a 
``bash
Float32Array [buffer: SharedArrayBuffer(17640), byteLength: 0, byteOffset: 0, length: 0, Symbol(Symbol.toStringTag): 'Float32Array']
buffer:SharedArrayBuffer(17640)
byteLength:0
byteOffset:0
length: 0
Symbol(Symbol.toStringTag): "Float32Array"
[[Prototype]]:TypedArray
``
2023-05-15 23:50:17 +03:00
Luke Curley 0f4d823d39 cargo fmt 2023-05-09 14:27:11 -06:00
Luke Curley 28f5b97308 Implement prioritization.
Not tested.
2023-05-09 10:29:39 -06:00
Luke Curley 29921ba46d Rename player folder and initial broadcaster code. 2023-05-09 09:07:41 -06:00
Luke Curley 9f0c24b552 Refactor the TS code a bit. 2023-05-09 09:05:08 -06:00
Luke Curley e6791b872d Finish merging audio with video. 2023-05-08 09:20:51 -06:00
Luke Curley d7237c4926 Send INIT as a single message.
Much simpler on both the client and server side.
2023-05-04 19:43:43 -07:00
Luke Curley e9663accc6 cargo clippy 2023-05-02 11:09:36 -07:00
Luke Curley b5b7ffedfa cargo fmt 2023-05-02 11:05:21 -07:00