Commit graph

501 commits

Author SHA1 Message Date
88hcsif
42514fa09a Swap A and B for PS3 controller
Add PS3 controller mapping for Safari and Firefox
2020-06-28 23:35:06 +01:00
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
2aa1ae4ecb
Add frame delay or frame rate stats to stat view. (#206)
Unfortunately Firefox does not expose frame delay stat.
Unfortunately Chrome and Safari do not expose frame rate stat.
2020-06-26 02:39:39 +08:00
sergystepanov
36894ad730
Swap the A/B buttons (#209) 2020-06-25 23:06:25 +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
Sergey Stepanov
a61d4585a1
Tidy Go modules after SDL2 addition 2020-06-18 19:22:09 +03:00
sergystepanov
43d5ca1737
Fix Chrome stereo issue (#202) 2020-06-18 18:56:00 +08:00
giongto35
be0eb458ad
Update README.md 2020-06-17 23:45:55 +08:00
Sergey Stepanov
ce5f1427f0
Add GL Mesa lib into the main Docker image 2020-06-17 14:35:41 +03:00
Sergey Stepanov
8b27445458
Integrate SDL2 into CI / Project 2020-06-17 14:00:50 +03: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
sergystepanov
9d17435d7e
Allow gh Docker repository push in forks 2020-06-16 22:09:36 +03:00
sergystepanov
6a42f9d989
Add missing Docker build check into CI 2020-06-16 15:15:53 +03:00
sergystepanov
f18ede0835
Require app build CI on PR 2020-06-15 22:16:26 +03:00
sergystepanov
782e6d71b1
Add Github Docker repo publisher (#197) 2020-06-16 00:15:25 +08:00
sergystepanov
27f8fdc117
Make it choose ws/wss protocol based on URL's protocol. (#196)
When you open the app with https: protocol it will chose wss secured socket connection instead of hardcoded addresses / domains.
2020-06-13 14:23:01 +08:00
giongto35
42d7e166e8
Update dev.run-docker for easier startup 2020-06-11 05:54:02 +08:00
sergystepanov
9d3e9c1a3b
Initial Docker rewrite (#190)
* Initial Docker rewrite

* Add rebuild

* Up

* Up

* Up

* Pre-release

* Pack assets with ext games

* Remove Makefile Docker because it's broken on Windows and a dup

* Add default container name

* Update docker-compose.yml

* Add app binaries into the system bin folder

* Update

* Update
2020-06-09 20:38:43 +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
Sergey Stepanov
ee9088a065
Update deps for WSL2 support 2020-05-29 15:22:28 +03:00
Sergey Stepanov
0bf23d6995
Update release generation target 2020-05-28 13:08:23 +03:00
Sergey Stepanov
23f282760a
Fix broken Msys2 pacman for now 2020-05-26 00:29:47 +03: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
giongto35
e948174a8f Update README remove chrome 2020-04-28 02:57:59 +08: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
Sergey Stepanov
bd6390f89b
Fix gh CI scripts for a non-standard shell 2020-04-27 13:12:40 +03:00
Sergey Stepanov
ffd4007bd2
Update MSYS2 pre-build step 2020-04-27 12:29:45 +03:00
Sergey Stepanov
da2d5b0ead
Minor fixes in the stats module after the review 2020-04-26 21:46:33 +03:00
sergystepanov
e05ae221e8
Add generic application statistics overlay (#168)
* Add stat module initial example

* Add stats module help overlay overlap handling

* Add generic graph canvas image builder

* Add more generic graphing module

* Clean up the code

* Some fixes

* Change graphing styles

* Clean some stats module code

* Move to RAF rendering to burn your CPU

* Add not standardized memory stats module

* Fix initial stats visibility flag handle
2020-04-26 22:19:00 +08:00
sergystepanov
23c2f5b4ee
Fix ui scaling for Chrome (#169)
* Fix ui scaling for Chrome

* Bump the versions for cache
2020-04-25 04:01:48 +08:00
sergystepanov
b3cb95849d
Refactor input poll (#167)
* Refactor input poll to make it x2-3 faster (0.4ms+ -> 0.1ms)

* If Server is sendrecv transceiver, client needs to be sendrecv on Firefox.
c641b530a0

Co-authored-by: giongto35 <giongto35@yahoo.com>
2020-04-22 01:11:36 +08:00
Sergey Stepanov
ee14bf82cb
Remove unused GO vendor experiment 2020-04-20 15:29:26 +03:00
giongto35
b29a4b15ea Fix run dev.docker. Thanks baxpace 2020-04-20 18:41:57 +08:00
Sergey Stepanov
7ba83c4ce8
Update Go modules 2020-04-20 12:06:42 +03:00
Sergey Stepanov
11d640a516
Remove annoying poster chunks under not 1:1 AR videos 2020-04-19 22:56:03 +03:00
giongto35
7e8ebd5f74 Minor fix + Update more collaborate games for fun 2020-04-19 03:35:28 +08:00
giongto35
27cee3976a
Update Readme format (#162) 2020-04-17 03:35:49 +08:00
giongto35
d8d3658783 Update Technical wrapup from WebRTChacks 2020-04-17 02:27:14 +08:00
giongto35
fb85bcf8ca Update fonts 2020-04-16 18:28:13 +08:00
Sergey Stepanov
44392442f1
Clean Go modules 2020-04-13 17:18:48 +03:00
Sergey Stepanov
9238e57acb
Fix event params shadowing (0, false and so on -> {}) 2020-04-13 17:13:11 +03:00
giongto35
7f2f10518a Update font css 2020-04-12 03:29:19 +08:00
giongto35
87e929d67c Update Pion version 2020-04-12 02:55:07 +08:00