Commit Graph

20 Commits (8e8b2ef17d9be3d2b76d2daa3ec9f5f44dde4d8a)

Author SHA1 Message Date
_ 8e8b2ef17d 🚧 wip: demuxing over HTTP, for Ogg formats only 2021-11-13 21:40:03 -06:00
_ 10d3cd62c5 GUI is very much WIP but it does work 2021-11-13 23:45:26 +00:00
_ f2484dda91 🚧 wip: FLTK GUI demo 2021-11-13 19:51:03 +00:00
_ 70e5182dfc ♻️ refactor: extract DecoderThread and clean up identifiers 2021-11-13 19:45:16 +00:00
_ f7c38d88de ♻️ refactor: extract AudioOutput 2021-11-13 19:34:41 +00:00
_ 3b45f4309f 👕 refactor: removed the memcpy by moving it to a place where I had to memcpy anyway 2021-11-13 17:51:06 +00:00
_ f6b85a24da 👕 refactor: move SharedState to main.rs 2021-11-13 17:43:25 +00:00
_ be3c76d9d8 👕 refactor: hide ffmpeg audio frame from public decoder API 2021-11-13 17:37:55 +00:00
_ 68461866d8 🐛 bug: popping is gone
It was a combination of two bugs:

1. For some reason, libswresample sometimes returns more data than you need.
Like, it'll return X samples but _more than_ 8X bytes, for f32 stereo.

2. I wasn't supposed to be calling `flush`. I should have been calling
`run` with a dummy frame. This isn't intuitive to me, and it required
me to construct a dummy frame and keep it around in my code. I think
this is pretty inelegant. And looking at the ffmpeg code, I think it's
a flaw in the API design of the `ffmpeg_next` crate. I may ask them
about it in the future.
2021-11-13 11:23:10 -06:00
_ 9c3368f28b 🚧 wip: I might have fixed the popping.
I was not supposed to be calling `flush` in the first place
2021-11-13 11:05:32 -06:00
_ e6c157b556 👕 refactor: took apart the decoder and put it back together as an iterator
popping is still there
2021-11-13 10:31:58 -06:00
_ 9292f0767e 🚧 still trying to debug the popping. I've narrowed it down. 2021-11-13 02:42:31 +00:00
_ 3f5be609ea it's good and seamless except for that dang popping! 2021-11-13 01:11:11 +00:00
_ 336c94e39c 🐛 bug: yep sure enough I wasn't flushing the resampler properly.
I feel like I've done this _exact_ project 3 times now
2021-11-13 00:34:02 +00:00
_ 096b5aeb65 👕 refactor: use decoder module 2021-11-12 23:56:38 +00:00
_ 722821e2c4 👕 refactor: extract decoder module 2021-11-12 23:51:56 +00:00
_ a98fea30b4 still some bugs 2021-11-12 23:34:18 +00:00
_ ceb06dad16 fix some issues 2021-11-12 15:54:24 -06:00
_ b11c4ac0b8 playing audio 2021-11-12 14:33:38 -06:00
_ 15980d347c 🐣 2021-11-12 12:14:15 -06:00