comparison doc/EFR-library-API @ 545:b07dba7b8a4f

doc/EFR-library-API: document RTP input wrapper
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 03 Oct 2024 09:26:04 +0000
parents bd32bb1e8dab
children
comparison
equal deleted inserted replaced
544:bd32bb1e8dab 545:b07dba7b8a4f
183 with params array input, but the SID classification per the rules of GSM 06.81 183 with params array input, but the SID classification per the rules of GSM 06.81
184 section 6.1.1 needs to be provided by the caller. The wrapper in 184 section 6.1.1 needs to be provided by the caller. The wrapper in
185 EFR_decode_frame() calls both EFR_frame2params() and EFR_sid_classify() before 185 EFR_decode_frame() calls both EFR_frame2params() and EFR_sid_classify() before
186 passing the work to EFR_decode_params(). 186 passing the work to EFR_decode_params().
187 187
188 Decoder RTP input
189 =================
190
191 If a network element is receiving GSM-EFR input via RTP and needs to feed this
192 input to the decoder, the RTP payload handler needs to support both the basic
193 RTP format of ETSI TS 101 318 (also RFC 3551) and the extended RTP format of
194 TW-TS-001. Depending on the format received, and depending on bit flags in the
195 TEH octet in the case of TW-TS-001, the RTP input handler will need to call
196 either EFR_decode_frame() or EFR_decode_bfi_nodata() with correct bfi and taf
197 arguments. Seeing that this complex logic should be abstracted away from
198 applications into the library, we've added the following wrapper function:
199
200 extern int EFR_decode_rtp(struct EFR_decoder_state *st, const uint8_t *rtp_pl,
201 unsigned rtp_pl_len, int16_t *pcm);
202
203 The semantics and return value of this function are the same as its FRv1
204 counterpart gsmfr_fulldec_rtp_in(), documented in FR1-library-API article.
205
188 State reset functions 206 State reset functions
189 ===================== 207 =====================
190 208
191 extern void EFR_encoder_reset(struct EFR_encoder_state *st, int dtx); 209 extern void EFR_encoder_reset(struct EFR_encoder_state *st, int dtx);
192 extern void EFR_decoder_reset(struct EFR_decoder_state *st); 210 extern void EFR_decoder_reset(struct EFR_decoder_state *st);