Commit Graph

72 Commits

Author SHA1 Message Date
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
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
Vivian Lim bdba596d07 stop frame properties from changing after starting, ffmpeg doesn't like that 2020-11-29 02:27:37 -08:00
Vivian Lim 764485b2b5 update crate ref 2020-11-29 02:02:32 -08:00
Vivian Lim 997be77c8a switch to ffmpeg-next 2020-11-29 02:01:39 -08:00
Vivian Lim d1e7019902 some fumbling 2020-11-29 02:01:07 -08:00
lif f94f5c836f WIP: getting closer to actually encoding a frame!! 2020-01-25 19:32:12 -08:00
lif b1bde52bb0 WIP - fixing some parameters in video filter 2020-01-25 12:15:59 -08:00
lif e4046986d2 WIP get compiling again 2020-01-24 23:58:27 -08:00
lif b9023a0131 WIP ffmpeg filter graphs 2019-12-09 00:01:27 -08:00
lif ffc53708d1 WIP more - now gets meaningful ffmpeg errors, still need to make a filter pipeline to do resampling and pixel format conv 2019-11-24 22:55:30 -08:00
lif dafe029b01 WIP ffmpeg example, no real functionality yet 2019-11-24 01:14:22 -08:00
lif 3a37efea02 fix default pixfmt in sdl2 example, add ffmpeg4 to dev-dependencies in preparation for ffmpeg example 2019-11-24 01:13:14 -08:00
lif e0e02397a7 use cargo examples semantically 2019-11-23 21:19:15 -08:00
lif 74952f0678 fix intellij-rust nag about serialize_size 2019-11-23 20:28:56 -08:00
lif 14a3f14b71 fix example post-rename and reorganize 2019-11-23 20:21:20 -08:00
lif f36518d2e6 reorganize wrapped types & pass through sensor and perf counter methods 2019-11-23 20:18:52 -08:00
lif ea3aa70936 update name and authors 2019-11-23 20:18:31 -08:00
lif 3f31cf6625 implement ENVIRONMENT_SET_INPUT_DESCRIPTORS 2019-11-23 19:37:18 -08:00
lif 49aa491904 implement ENVIRONMENT_SET_SUBSYSTEM_INFO 2019-11-19 00:31:14 -08:00
lif 7b50e6b975 implement ENVIRONMENT_GET_PROC_ADDRESS 2019-11-18 01:01:33 -08:00
lif 7f36723025 fixes for genplusgx 2019-11-18 01:01:12 -08:00
lif 71683dba82 WIP: starting on ENVIRONMENT_SET_HW_RENDER 2019-11-17 23:36:01 -08:00
lif f4335e3f11 stubs for ENVIRONMENT_GET_PERF_INTERFACE 2019-11-17 23:13:25 -08:00
lif 604b3f03f8 implement ENVIRONMENT_SET_CONTROLLER_INFO 2019-11-17 23:02:40 -08:00
lif 871e0f799f implement RETRO_ENVIRONMENT_SET_VARIABLES 2019-11-17 22:03:37 -08:00
lif 0e3ba53eec Wait to call retro_set_environment until we have the Handler registered 2019-11-17 20:52:35 -08:00
lif e1ab7d69aa hacking in 3D Control Pad for NiGHTS and angrylion software rendering for N64... 2019-11-17 17:27:50 -08:00
lif b3156a4b04 quick and dirty logging of variable queries 2019-11-17 01:42:29 -08:00
lif a591037d19 get mednafen_saturn_libretro.so working 2019-11-17 01:31:45 -08:00