Commit Graph

157 Commits

Author SHA1 Message Date
lifning 268f1b4ff8 add scary-looking-but-safe dynamic downcast for a component_mut accessor 2021-10-17 21:46:12 -07:00
lifning 26ff040136 adding plain sdl2 surface component 2021-10-16 02:26:33 -07:00
lifning b735e5f4e5 make example deps properly optional 2021-10-15 21:42:51 -07:00
lifning 55725b28e1 readme 2021-10-11 15:17:12 -07:00
lifning 41ffd86d1b WIP camera 2021-10-01 21:15:13 -07:00
lifning 79f6d79eb8 no longer unix-specific 2021-10-01 21:14:53 -07:00
lif 409bd03621 Merge pull request 'liffy/sdl-gl' (#16) from liffy/sdl-gl into matriarch
Reviewed-on: https://git.vvn.space/cinnabon/rustro/pulls/16
2021-08-22 06:16:01 +00:00
lifning 41c0864bef misc cleanup for SDL+GL 2021-08-21 21:45:57 -07:00
lifning 71240de38c Support 2D video_refresh in the SDL+GL component
...and alter the behavior of ThreadSleep component a bit.
2021-08-21 20:37:47 -07:00
lifning 0c5d0b5338 clear color buffer on vid refresh 2021-08-20 22:17:38 -07:00
lifning f954fe9ffb tell parallel-n64 to use glide64 when using the SDL_GL component 2021-08-20 21:47:48 -07:00
lifning 2b3409318b trace api-logging component 2021-08-20 21:47:26 -07:00
lifning 013cc247b9 wip messing around with SDL_GL as a possible hw render provider to later mix in with the existing 2D codepaths 2021-08-20 00:14:41 -07:00
lif e1c0670feb Merge pull request 'Split Sdl2Component into audio/video/input/framelimit' (#15) from liffy/sdl-split into matriarch
Reviewed-on: https://git.vvn.space/cinnabon/rustro/pulls/15
2021-08-19 05:44:36 +00:00
lifning 0501812ae9 Split Sdl2Component into audio/video/input/framelimit 2021-08-18 22:05:19 -07:00
Vivian Lim a3cd71a3b2 Merge pull request 'Split into two crates in one workspace: ferretro_core & ferretro_components' (#14) from viv/reorganize into matriarch
Reviewed-on: https://git.vvn.space/cinnabon/rustro/pulls/14
2021-08-19 00:03:43 +00:00
Vivian Lim 54bd5de72e update authors for ferretro_components 2021-08-18 16:17:38 -07:00
Vivian Lim 7b850c1800 ferretro_core -> ferretro_base 2021-08-18 14:47:57 -07:00
Vivian Lim 5d2692262c Split into two crates in one workspace: ferretro_core & ferretro_components 2021-08-18 14:32:55 -07:00
lifning d156c04a04 fix SDL2 audio thread hanging on close 2021-08-17 16:50:26 -07:00
Vivian Lim 12b879ac9f Merge pull request 'gigantic nightmare ffmpeg + components pr' (#12) from viv/ffmpeg2 into matriarch
Reviewed-on: https://git.vvn.space/cinnabon/rustro/pulls/12
2021-08-17 23:22:08 +00:00
Vivian Lim 2d2983fd1c fix setting memory maps when emu calls it 2021-08-17 16:16:07 -07:00
Vivian Lim cf076409f0 Merge branch 'matriarch' of ssh://vvn.space:2222/cinnabon/rustro into viv/ffmpeg2 2021-08-17 15:37:51 -07:00
Vivian Lim 999bac20a2 Merge branch 'liffy/api' of ssh://vvn.space:2222/cinnabon/rustro into viv/ffmpeg2 2021-08-17 15:35:29 -07:00
Vivian Lim f4d076b76f Add more derived traits to constants 2021-08-17 15:23:48 -07:00
lifning a7c4f0909d sorta works! ffmpeg component might need updating to latest example code 2021-08-17 04:06:40 -07:00
lifning 9dcbc94847 WIP: messing with mutability for a better tomorrow 2021-08-12 23:58:21 -07:00
lifning 7b06ed61d1 constructor for RetroComponentBase 2021-08-11 01:08:22 -07:00
lifning 47d7113b03 implement the rest of the callbacks in the dispatcher 2021-08-11 00:42:13 -07:00
lifning 2b73e3d836 document env callbacks & continue sketching component api 2021-08-10 17:59:00 -07:00
viv 4a38b99c5e add unserialize flag to ffmpeg_recorder 2021-08-09 22:32:22 -07:00
Vivian Lim d8d0038643 Merge pull request 'wrapper: invoke handler.set_memory_maps()' (#10) from viv/call-set-memory-maps into matriarch
Reviewed-on: https://git.vvn.space/cinnabon/rustro/pulls/10
2021-08-03 08:11:05 +00:00
viv 3cad3b1e29 Don't try to write an audio frame if there aren't any planes 2021-08-01 00:08:18 -07:00
Viv Lim 3beb1a8519 fix audio sync when being played by quicktime
the thing I was doing is on the audio, i was setting the pts (presentation timestamp) after the frame was filtered by ffmpeg, which could be frames later, and could be batched.
i set the pts before filtering, but that made things worse. for some reason, the audio filter is remapping the pts I use (frame count, 1/60) to the time base 1/44100.
the video filter does not do this, which is why I specifically remap it later
I had to make that remap step I added later skip the audio channel
2021-07-28 23:54:40 -07:00
Viv Lim 7c03aac388 Don't panic if the emulator doesn't have frames ready to render, use angrylion with parallel-n64 2021-07-27 00:50:11 -07:00
Viv Lim ee9678af68 cleaner pts rescaling at packet write time. writing headers can change time_base by design so just adapt to it 2021-07-26 01:10:48 -07:00
Viv Lim ea771c8dd7 synced a/v on some players at least. ideally i'd like to write the header with the right time bases set. 2021-07-26 00:42:06 -07:00
Viv Lim 57530da214 able to record ok-sounding audio from picodrive 2021-07-25 22:02:40 -07:00
Vivian Lim 41da935d42 actually write real audio (was sending aframe instead of filtered_aframe to encoder)
and a few other fixes / shufflings
2021-04-25 19:31:06 -07:00
Vivian Lim 7920d944d4 dedupe code for receiving and writing packets 2021-04-24 02:18:06 -07:00
Vivian Lim d660a9cc94 shuffle some stuff around 2021-04-23 23:55:26 -07:00
Vivian Lim eac635dc71 video with slightly more correct time scale 2021-04-23 20:02:07 -07:00
Vivian Lim 88d1ab0b0e actually write a video!!!!! 2021-04-22 00:16:09 -07:00
Vivian Lim d3a88573d7 move around some things but now my debugger doesn't work for some inexplicable reason 2021-04-20 23:57:39 -07:00
Vivian Lim 2408654651 writes some garbage to file each frame (using .mp4 output). i'm not sure if this is an improvement 2021-04-19 01:06:47 -07:00
Vivian Lim ba90e89cdb hardcoded match for sega genesis video geometry 2020-11-29 15:13:45 -08:00
Vivian Lim c119c5eacd audio sample rate hacks. todo: review which ones are actually needed 2020-11-29 15:13:24 -08:00
Vivian Lim 439e575982 make audio encode failure non-fatal so we can run to the end at least 2020-11-29 15:12:48 -08:00
Vivian Lim c78d1cb9fd reduce # of frames run while poking around 2020-11-29 15:12:27 -08:00
Vivian Lim 15c830f0b1 add a lot of debug output 2020-11-29 15:12:10 -08:00