Reland of Opus multistream.
This is a reland of https://webrtc-review.googlesource.com/c/src/+/111750. This time we don't use the multistream decoder unless we have to. (Which is when #channels >2). Pros: don't make downstream projects crash due to used up stack space, a few % more efficiency for the typical case (because multistream adds some overhead). Cons: Messy C-code with "union" types and #define MACROs, probably more maintenance. Bug: webrtc:8649 Change-Id: I4253a5e0c382f67ac7c6731dc6602a31e6779e63 Reviewed-on: https://webrtc-review.googlesource.com/c/120049 Commit-Queue: Alex Loiko <aleloi@webrtc.org> Reviewed-by: Minyue Li <minyue@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26445}
This commit is contained in:
@ -125,6 +125,22 @@ int16_t WebRtcOpus_SetPacketLossRate(OpusEncInst* inst, int32_t loss_rate);
|
||||
*/
|
||||
int16_t WebRtcOpus_SetMaxPlaybackRate(OpusEncInst* inst, int32_t frequency_hz);
|
||||
|
||||
/****************************************************************************
|
||||
* WebRtcOpus_GetMaxPlaybackRate(...)
|
||||
*
|
||||
* Queries the maximum playback rate for encoding. If different single-stream
|
||||
* encoders have different maximum playback rates, this function fails.
|
||||
*
|
||||
* Input:
|
||||
* - inst : Encoder context.
|
||||
* Output:
|
||||
* - result_hz : The maximum playback rate in Hz.
|
||||
* Return value : 0 - Success
|
||||
* -1 - Error
|
||||
*/
|
||||
int16_t WebRtcOpus_GetMaxPlaybackRate(OpusEncInst* const inst,
|
||||
int32_t* result_hz);
|
||||
|
||||
/* TODO(minyue): Check whether an API to check the FEC and the packet loss rate
|
||||
* is needed. It might not be very useful since there are not many use cases and
|
||||
* the caller can always maintain the states. */
|
||||
|
||||
Reference in New Issue
Block a user