-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ffmpeg export #2309
base: master
Are you sure you want to change the base?
ffmpeg export #2309
Conversation
a functional usage example of the Subprocess class is currently at src/engine/wavOps.cpp:124 (sorry, it's misplaced)
I'm kind of second-guessing this because I noticed |
Oh my fucking god this was so goddamn hard to implement. But it's here. I don't know how I was so lucky but I came across this: https://stackoverflow.com/questions/53734902/why-child-process-is-waiting-while-using-fork-and-pipes-for-stdin-from-parents which made me realize stuff can go bad if I do not close the file descriptors at every possible moment. In this case, I had to close as many unrelated ends of stdinPipe as possible so the subprocess could figure out the export was finished
who knew IPC could be so hard
This was a nightmare :) I did learn how poll() works though. That's nice. But I had to go through so much to find that out lol... an entire afternoon.
the feature is still not implemented, but at least now it compiles with a message saying it's not yet supported
it does on mingw though
The problem with |
An attempt at supporting custom format export via ffmpeg, using the fact that this command works:
The idea then is to open a
ffmpeg
child process and write the export data (which would be written to a.wav
file) to it, without needing to link against ffmpeg's libraries. And it effectively makes it optional!Progress:
ffmpeg
is in PATHscripting
branch)