sergystepanov
3388a0fbce
Create data channels when pushed to the server
2026-06-05 14:46:55 +03:00
sergystepanov
d6f2cfc5ef
Add the option switch for WebRTC initiator
2026-06-04 22:36:36 +03:00
sergystepanov
8c4b4bf96f
Add an option for initiating WebRTC offer on the client side
...
WebRTC negotiation will start in the browser with an offer. Added because a reversed negotiation (server's offer) doesn't work in Firefox-based browsers.
2026-06-04 22:36:35 +03:00
sergystepanov
240147f8f1
Set sane ws default message size
2026-06-04 22:36:34 +03:00
sergystepanov
337bf6149c
Add Trickle ICE support on the server
2026-06-04 22:36:32 +03:00
sergystepanov
4d5a1c7778
Remove INIT_WEBRTC API call
2026-06-04 22:36:31 +03:00
sergystepanov
e541f7e183
Add InitWebrtcStream API call
2026-06-04 22:36:31 +03:00
sergystepanov
4745b10572
Add remote and local ICE IP filters
2026-05-27 18:54:17 +03:00
sergystepanov
4c8a54b8f2
Update to ubuntu:plucky
...
Use the dynamic x264 library because the static libx264.a was removed from the packages in the latest Ubuntu.
2026-05-01 11:30:02 +03:00
sergystepanov
1d5bae0c62
Add analog triggers and pack axes into atomic int64
...
- Pack 4 analog axes (LX, LY, RX, RY) into single int64 for atomic access
- Pack L2/R2 analog triggers into single int32
- Reduce memory per port from 20 to 16 bytes
- Reduce atomic stores per SetInput from 5 to 3
- Add RETRO_DEVICE_INDEX_ANALOG_BUTTON support for analog trigger queries
- Fallback to digital (0/0x7FFF) for non-trigger analog button queries
Wire format: [BTN:2][LX:2][LY:2][RX:2][RY:2][L2:2][R2:2] (14 bytes)
2025-12-29 20:20:55 +03:00
sergystepanov
368bae8c07
Swap mutex to atomics in keyboard input
2025-12-28 21:25:33 +03:00
sergystepanov
58a19affcb
Clean SDL/OpenGL functions
2025-12-27 01:58:14 +03:00
sergystepanov
8754a5edfa
Tweak OpenGL framebuffer
...
Force alignment for GL ReadPixels and skip unbinding last framebuffer which makes it a bit faster.
2025-12-26 16:17:37 +03:00
sergystepanov
aeb41008c9
Remove room watchers
2025-12-24 21:25:03 +03:00
sergystepanov
059e19d790
Remove com.Uid from the API
2025-12-24 21:23:19 +03:00
sergystepanov
94e13cb93b
Clean api
2025-12-22 15:37:04 +03:00
sergystepanov
c800dd4bf9
Fix with go fix
2025-12-22 15:08:50 +03:00
sergystepanov
d45daeab7a
Tweak room join/creation logic
2025-12-15 18:42:41 +03:00
sergystepanov
b3ccea5f0e
Refactor media buffer
...
Mostly cleanup.
2025-12-15 15:52:46 +03:00
sergystepanov
3178086dd7
Revert due to weird 32KHz mGBA issues
...
(fix later)
2025-12-14 22:29:27 +03:00
sergystepanov
1e4e5b3c65
Clean media buffer
2025-12-14 22:15:28 +03:00
sergystepanov
7c8e74716d
Disable mGBA low-pass filter
2025-12-14 22:14:55 +03:00
sergystepanov
46a5799079
Fix media tests
2025-12-14 18:54:06 +03:00
sergystepanov
9feb788108
Make speexdsp statically linked
2025-12-14 17:01:04 +03:00
sergystepanov
9d54ea4c49
Add and use Speex audio resampler
2025-12-14 16:24:35 +03:00
sergystepanov
671e875f12
Add input cache for retropad, keyboard and mouse
2025-12-14 13:53:21 +03:00
sergystepanov
f708fce112
Revert "Try atomic-based locks in the same thread execution loop instead of a bunch of mutexes."
...
This reverts commit 460c466053 .
2025-12-14 13:30:45 +03:00
sergystepanov
460c466053
Try atomic-based locks in the same thread execution loop instead of a bunch of mutexes.
2025-12-14 13:18:34 +03:00
sergystepanov
84ad0a4cac
Add audio resampling option
...
You can now select between linear interpolation and nearest-neighbor resampling algorithms.
2025-12-13 23:56:38 +03:00
sergystepanov
129690e901
Fix map test
2025-11-22 22:21:05 +03:00
sergystepanov
9191861cab
Use iterators in the custom map implementation
2025-11-22 22:09:38 +03:00
sergystepanov
c05e42f597
Cleanup nanoarch.go
2025-11-22 21:20:16 +03:00
sergystepanov
09a0c9c3f2
Revert "Add user input caching"
...
This reverts commit 859d0c8f1a .
2025-11-22 17:46:07 +03:00
sergystepanov
859d0c8f1a
Add user input caching
2025-11-22 17:22:40 +03:00
sergystepanov
baaeaf43b1
Add config option for logging dropped frames
2025-11-22 12:32:56 +03:00
sergystepanov
76b376aef7
Add config option for skipping late video frames
2025-11-22 11:59:08 +03:00
sergystepanov
3df6a24a0a
Skip video frames when they are late
2025-11-21 22:35:33 +03:00
sergystepanov
5c6406c1e7
Implemented a busy loop for the emulation ticker.
...
This replaces the low-precision, OS-dependent time ticker with a CPU spin loop that performs continuous target frame time checks and corrections.
2025-11-21 20:13:27 +03:00
sergystepanov
bbad4539b1
Update libretro.h
2025-11-20 00:33:03 +03:00
sergystepanov
42b003db62
Verifies during startup if the system can run the emulator
...
This check can be disabled with the emulator.failFast = false config option. Right now it checks SDL2 video context creation.
2025-06-20 18:30:17 +03:00
sergystepanov
02210f1f8d
Remove unnecessary C bridge functions
2025-05-18 12:46:32 +03:00
sergystepanov
36da07f277
Use the actual state size when loading ROMs
2025-05-03 16:35:21 +03:00
sergystepanov
37a4a80996
Use the save state size before each save/load call
2025-05-03 15:55:26 +03:00
sergystepanov
9d4256306e
Add missing C function header for Go debugger
2025-05-02 10:34:22 +03:00
sergystepanov
ddfc9249ec
Fix some user slot race conditions
...
In cases where HasSlot() and Reserve() operations are delayed, multiple users may incorrectly be granted a slot due to race conditions.
2025-05-02 10:06:23 +03:00
sergystepanov
3ac7a559df
Skip YUV test
...
It is broken on Windows
2025-04-17 09:11:26 +03:00
Sergey Stepanov
0c768bb3d6
Add some notes on recording in regards to ffconcat
2024-12-21 01:37:42 +03:00
Sergey Stepanov
f78bcf3e4b
Allow config for the remote Libretro core repos
2024-12-20 01:32:20 +03:00
Sergey Stepanov
535e725618
Panic when dlib functions are missing
2024-12-19 21:40:14 +03:00
Sergey Stepanov
4aaeda3fbb
Move some RETRO_ENVIRONMENT vars into C
2024-12-16 23:28:14 +03:00