Commit graph

43 commits

Author SHA1 Message Date
88hcsif
85bb99f8f8
Explicitly set RTP timestamp to cope with variable frame rate. (#211)
Set the timestamp as early as possible and propagate it through the pipeline.
2020-06-28 17:25:23 +08:00
sergystepanov
2703692d1a
Free save state buffer from malloc (#210) 2020-06-27 00:54:10 +08:00
88hcsif
c23347db08
Add basic N64 support on Mac (#205)
Note: mupen64plus lib unload is not working properly on Mac, so stopping and restarting N64 emulation will cause a crash
2020-06-25 22:46:12 +08:00
sergystepanov
5f653de602
Add HTTP port config for Coordinator and Worker (#208)
* Add HTTP port config for Coordinator and Worker

It is possible to config HTTP ports for both apps with --httpPort flag.

* Limit worker port scanner to 100 ports
2020-06-25 16:19:58 +08:00
88hcsif
091b086bcb
N64 Support (#195)
* Allow HTTP access to Raspberry Pi over local network
Lower audio buffer maximum theoretical size to get the worker code to compile on Raspberry Pi

* Add https port flag to run https worker and coordinator on the same machine
Add https chain and key flags to allow to use an existing certificate and bypass letsencrypt
Note the ping address resolution is still broken with this configuration

* Add option to define a ping server in the coordinator
This is useful when it is not predicatable what address and port the worker will be runnning at
This only works when there is a single worker

* Free temporarily allocated CStrings
Store constant CString

* Only load core once and unload it when done

* Add Nintendo 64 support!
Disclaimer: only tested with Mupen64plus and Mupen64plusNext on Raspberry Pi.
It probably needs more work to run on every system and with other OpenGL libretro libraries.
Input controls are hacked together, it really needs analog stick and remapping support to play in a nicer way.
I am worried there might be a memory leak when unloading Mupen64plus but this needs further investigation.

* Add analog sticks + R2,L2,R3,L3 support

* Add client logic to control left analog stick via keyboard and touch
Add client logic to toggle between dpad mode and analog mode (even for joystick)
Might need to revisit if and when remapping is implemented
Tocuh sensitivity of analog stick is pretty high, might need tweaking

* Add cores for Raspberry Pi
Add N64 core for linux x86_64

* Reset use OpenGL flag on nanoarch shutdown (line lost in refactoring)
2020-06-17 18:07:10 +08:00
giongto35
bf5b622b1a
Fix high CPU due to nonstop loop (#191) 2020-06-06 04:29:16 +08:00
giongto35
d84503fa75
Close channel to avoid routine leak (#188) 2020-05-31 03:28:36 +08:00
giongto35
6d13590191
Fix pprof path (#187) 2020-05-26 03:57:21 +08:00
sergystepanov
a007157e76
Add initial support of portrait games (#186)
* Add initial support of portrait games

* Add benchmarks to angle selector

* Remove map from angles
2020-05-25 18:36:07 +08:00
giongto35
c8e6cfcb64
Feature: Add pgm bios + quit reload to the main page (#183) 2020-05-18 02:00:00 +08:00
giongto35
edf7c4b872
Enable voice communication in the same room (#182)
- All voice is fan-in and broadcasted.
- Currently, voice is sent in the same game track. TODO: send voice in different track (Having issue with dynamically addTrack after offer and answer)
2020-05-15 01:52:51 +08:00
sergystepanov
ae59586a3d
Fix Firefox distorted audio with a small OPUS frame 2020-05-03 21:31:02 +03:00
trichimtrich
5dcf4ac95f
Add support firefox safari ios (#175)
* change rtc offer/answer direction

* remove overlay log

* merge browser+session, fix log, add browser map

* add candidate transfer on worker + web
2020-04-28 02:20:49 +08:00
giongto35
8484eca293 Add L R 2020-04-01 01:27:42 +08:00
giongto35
59d4a3d9c2 update naming 2020-03-22 23:33:12 +08:00
giongto35
9558054449 Rename 2020-03-20 00:50:29 +08:00
giongto35
10cb6d5092 Fix HTTPS redirect, just need to use PathPrefix instead of listing all routes 2020-02-10 00:21:56 +08:00
giongto35
974ff64033 Integrate Neogeo to CloudRetro 2020-02-06 02:54:33 +08:00
giongto35
4d97ad1f34 Fix bug, add more game port 2020-01-14 03:49:01 +08:00
giongto35
e52ba36759
Update concurrent input (#150) 2020-01-12 19:46:24 +08:00
giongto35
a1ac8f272a
Setup HTTPS using autocert (#149)
* Add HTTPS WSS

* Update https

* HTTPS

* Add https

* Add HTTPS worker

* Add HTTPS

* add https

* Add pingserver to worker

* add https

* Add public domain whitelist

* Not fatal when there existing echo server
2020-01-03 04:37:26 +08:00
giongto35
55815cb9ef
Add multiplayer player (#148)
* Add player index

* Add second player

* Add player index slider

* add multiplayer

* WIP

* Clean up

* Add multiplayer play
2019-12-14 12:32:31 +08:00
giongto35
e2d2436ceb Fix roomID correct 2019-12-12 02:30:14 +08:00
giongto35
1342fabe15
Give option to join by zone + update README (#146)
* Update DREADME CrowdPlay

* Update README

* Update README.md

* Add zone control

* add zone

* Update MISC

* Update go mod
2019-12-09 03:02:35 +08:00
giongto35
c1b650cac9
Fix deadlock (#144) 2019-11-29 04:00:19 +08:00
giongto35
0b9d628ec2
Refactor: Fix channel init order (#141)
* Fix channel order

* Remove Done in encoder

* Update h264 encoder done code

* remove Unnecessary IsRunning
2019-11-27 02:38:13 +08:00
giongto35
e8fbd28b2f
Close room signal overlord (#140) 2019-11-26 23:06:22 +08:00
sergystepanov
3bd63fdc2c Add PCSX ReARMed Windows and MacOS cores for PSX gaming (#138)
* Update pcsx rearmed core version

* Add PCSX ReARMed Windows and MacOS cores for PSX gaming

* Fix PSX core loader
2019-11-25 01:02:06 +08:00
sergystepanov
caa09cf708 Remove some PSX data (#134) 2019-11-23 10:35:46 +08:00
giongto35
b31cf879ee
Check all the cores library type for different os till it works (#136)
* Update core check

* Fix bug
2019-11-22 03:02:10 +08:00
giongto35
7df39def96
Unblock sending audio channel, avoid causing stuck (#131) 2019-11-21 01:03:50 +08:00
giongto35
1adcfb55cb
Save room to online storage when the room is closed (#122)
* save game when room end

* Only save room when there is existed room
2019-10-23 03:49:25 +08:00
giongto35
8cc514630e Fix missing libretro func in interface 2019-10-20 15:48:58 +08:00
giongto35
b7f47f5519
MISC fix, fix aspect ratio setting + Only play audio when has user interaction (#117)
* Update encoding flow

* unmute when play

* only play audio when action

* Update version

* Update more comments

* Remove indirect

* Fix comments
2019-10-20 13:00:52 +08:00
giongto35
fde4a24158
Merge aspect ratio to master (#116)
* Add frame scaling support (#107)

* Update README.md with additional info about Windows builds

* Add frame scaling

* Add and enable bilinear scaling (#109)

* Add and enable bilinear scaling

* Use Go x/image lib for interpolation

* Reformat the code goimport/gofmt

* Move worker config into the pkg/worker directory

* Change separator in the save file path allowing it to work on Windows (#113)
2019-10-19 02:29:07 +08:00
giongto35
d01521f4ae
Join same room when giving roomID (#111) 2019-10-17 03:49:24 +08:00
giongto35
50343faaad
Update Audio batch + Fix the issue reload failed + escape room ID (#106)
* Try muted first

* WIP

* Update AudioChannel by batch

* Update util package

* Remove min

* Tidy module

* Update module
2019-10-12 21:46:02 +08:00
sergystepanov
60a9912006 Fix GBA internal resolution scaling (#100) 2019-10-09 03:15:16 +08:00
sergystepanov
4e06d6a27e Add audio streaming support with WebRTC and Opus (#102)
* Update README.md with additional info about Windows builds

* Add initial Opus stream audio support
2019-10-09 03:02:09 +08:00
giongto35
cf5007110e
Improve performance (#92)
* Update performance

* Turn off prometheus

* Add gbc

* Remove MAXPROCS 1

* Add updte config

* Update util + docker ignore
2019-09-30 02:17:38 +08:00
giongto35
474cb7592e
Test server (#90)
* Update README

* Update Readme typo

* to Test server

* Update libretro system path
2019-09-22 23:36:45 +08:00
giongto35
0d3d219315 Remove NES 2019-09-12 04:14:30 +08:00
Sadlil Rhythom
0e17092acb Refactor of cloud game overlord and overworker (#70)
* Introduce Makefile and go vendor directory for faster build

* WIP: Refactor cloud-game codebase with spliting overlord and worker binary

* Fix all issues and have a running build

* Complete first version of refactor
2019-09-12 03:35:21 +08:00