This is a draft.
macOS doesn’t have many of the advanced Linux or UNIX features that have come about in the past 20 years. So getting a proper chroot environment up and running takes a little more work.
| name: Example iOS Build | |
| on: | |
| push: | |
| branches: | |
| - development | |
| jobs: | |
| build-ios: | |
| runs-on: macos-latest |
| #ifndef SAFE_QUEUE | |
| #define SAFE_QUEUE | |
| #include <condition_variable> | |
| #include <mutex> | |
| #include <queue> | |
| // A threadsafe-queue. | |
| template <class T> | |
| class SafeQueue |
| // INCOMPLETE | |
| // This command will give you list of available FFMPEG formats and their default Mime types | |
| // ffmpeg -formats -hide_banner | tail -n +5 | cut -c5- | cut -d' ' -f1 | xargs -i{} ffmpeg -hide_banner -h demuxer={} | pcregrep -o2 -o4 -M '(Muxer (\w+) )|(Mime type:( .*).)' | |
| // And then parse the output with regex to JSON format in JavaScript for example: | |
| // str.match(/(.*)\n (.*)/gm).map(m => `"${m.replace(/\n /, '": "')}"`).join(',\n'); | |
| // Combine the output with MDN - Common MIME types | |
| // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types | |
| // And with IANA: |