Opus tools issueshttps://gitlab.xiph.org/xiph/opus-tools/-/issues2023-08-15T19:00:41Zhttps://gitlab.xiph.org/xiph/opus-tools/-/issues/2319Remove unnecessary null pointer checks2023-08-15T19:00:41ZMarkus ElfringRemove unnecessary null pointer checks[Extra null pointer checks are not needed in functions](https://stackoverflow.com/questions/18775608/free-a-null-pointer-anyway-or-check-first "Free a null pointer anyway or check first?") like the following.
* [main](https://gitlab.xip...[Extra null pointer checks are not needed in functions](https://stackoverflow.com/questions/18775608/free-a-null-pointer-anyway-or-check-first "Free a null pointer anyway or check first?") like the following.
* [main](https://gitlab.xiph.org/xiph/opus-tools/-/blob/ec08f7bd88bf6598ad8b666b7c4d2c1162487838/src/opusdec.c#L1191)
* [op_free](https://gitlab.xiph.org/xiph/opus-tools/-/blob/ec08f7bd88bf6598ad8b666b7c4d2c1162487838/src/opusrtp.c#L200)https://gitlab.xiph.org/xiph/opus-tools/-/issues/2318Completion of error handling2023-08-15T18:44:57ZMarkus ElfringCompletion of error handlingWould you like to add more error handling for return values from functions like the following?
* [calloc](https://pubs.opengroup.org/onlinepubs/9699919799/functions/calloc.html "Memory allocation") ⇒ [create_stream_set](https://gitlab.x...Would you like to add more error handling for return values from functions like the following?
* [calloc](https://pubs.opengroup.org/onlinepubs/9699919799/functions/calloc.html "Memory allocation") ⇒ [create_stream_set](https://gitlab.xiph.org/xiph/opus-tools/-/blob/ec08f7bd88bf6598ad8b666b7c4d2c1162487838/src/opusinfo.c#L56)
* [fclose](https://pubs.opengroup.org/onlinepubs/9699919799/functions/fclose.html "Close a stream") ⇒ [main](https://gitlab.xiph.org/xiph/opus-tools/-/blob/ec08f7bd88bf6598ad8b666b7c4d2c1162487838/src/opusenc.c#L673)https://gitlab.xiph.org/xiph/opus-tools/-/issues/2297Add a "--bitrate-per-channel" or a "--quality" argument2018-05-13T08:51:36ZkuchikirukiaAdd a "--bitrate-per-channel" or a "--quality" argumentAs of now Opus doesn't have a setting equivalent to Vorbis, Nero AAC, or QAAC's VBR quality levels. This makes it difficult to batch encode multiple files with multiple channel configurations. With a quality level you can pick one sett...As of now Opus doesn't have a setting equivalent to Vorbis, Nero AAC, or QAAC's VBR quality levels. This makes it difficult to batch encode multiple files with multiple channel configurations. With a quality level you can pick one setting and the encoder will adjust the bitrate according to the channel layout: for example, QAAC @ q127 will target 320kbps for 2.0 channel and 768kbps for 5.1. This is a very handy feature.
If a --quality feature, may I suggest a naming scheme that has some relation to the bitrates output at 2.0? I mean, I'd have no idea what Vorbis' q=5.0 translates to without looking at a chart. QAAC, OTOH, seems to somewhat correspond to bitrate-per-channel in its q45-q91 range. This is pretty useful. I know to pick q91 if I want ~180k quality without needing to run off to a manual.
Mark HarrisMark Harris