Reland r8577 "Collapse AudioEncoderDecoderIsacRed into ..."

This effectively reverts r8578.

TBR=jmarusic@webrtc.org

Original commit message:
Collapse AudioEncoderDecoderIsacRed into AudioEncoderDecoderIsac

With this change, support for iSAC-RED is incorporated into the
regular AudioEncoderDecoderIsac class.

COAUTHOR=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44539004

Cr-Commit-Position: refs/heads/master@{#8589}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8589 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
henrik.lundin@webrtc.org
2015-03-04 08:55:21 +00:00
parent 058b1f17ac
commit 1d25c87199
7 changed files with 55 additions and 82 deletions

View File

@ -20,7 +20,6 @@ namespace webrtc {
struct IsacFloat {
typedef ISACStruct instance_type;
static const bool has_swb = true;
static const bool has_redundant_encoder = false;
static inline int16_t Control(instance_type* inst,
int32_t rate,
int16_t framesize) {
@ -100,8 +99,7 @@ struct IsacFloat {
rtp_seq_number, send_ts, arr_ts);
}
static inline int16_t GetRedPayload(instance_type* inst, uint8_t* encoded) {
FATAL() << "Should never be called.";
return -1;
return WebRtcIsac_GetRedPayload(inst, encoded);
}
static inline int16_t SetMaxPayloadSize(instance_type* inst,
int16_t max_payload_size_bytes) {
@ -114,15 +112,5 @@ struct IsacFloat {
typedef AudioEncoderDecoderIsacT<IsacFloat> AudioEncoderDecoderIsac;
struct IsacRed : public IsacFloat {
static const bool has_redundant_encoder = true;
static inline int16_t GetRedPayload(instance_type* inst, uint8_t* encoded) {
return WebRtcIsac_GetRedPayload(inst, encoded);
}
};
typedef AudioEncoderDecoderIsacT<IsacRed> AudioEncoderDecoderIsacRed;
} // namespace webrtc
#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_INTERFACE_AUDIO_ENCODER_ISAC_H_