Add support for AMR-WB codec. - #58
Conversation
Use opencore-amr for decoding and vo-amrwbenc for encoding.
|
Would it to separate the actual C code from the CGO implementation in each directory? This would make more clear what code we copied vs wrote. It's also not realistic to review all this C code. Not sure what this means in practice if we commit it in our own repo... Maybe we should ask for guidance about best practices for such cases? Would a git submodule make any sense? Or am I overthinking this... |
|
@biglittlebigben splitting C and Go code into directories will break cgo compilation/caching. Unfortunately cgo is not flexible enough in this regard. All C and associated Go files must be co-located in the same directory. This is why I intentionally flattened all required files from these libraries, so that cgo can build them as a single package, without any external dependencies. Otherwise it will require extra headers/libraries on the host, which we'd like to avoid. I could split this code into a separate repo, if needed. That would work. Long-term the plan is to replace it with a pure Go implementation, similar to how G722 was translated. |
biglittlebigben
left a comment
There was a problem hiding this comment.
I can see how importing a bunch of outside code in a repo we otherwise own may be flagged in an audit, but absent a compliance person to consult with, I do not have better option to confidently suggest...
|
I moved the C source into a separate project. This way we could quickly swap it for something else. |
Use opencore-amr for decoding and vo-amrwbenc for encoding, instead of code from 3GPP spec which has unclear licensing.
Based on #57.