summaryrefslogtreecommitdiff
path: root/main/translate.c
diff options
context:
space:
mode:
authorLorenzo Miniero <lminiero@gmail.com>2016-11-29 16:31:21 +0100
committerLorenzo Miniero <lminiero@gmail.com>2017-01-23 13:25:31 +0100
commit1061539b75811d9115dcbc0be46967515bd9e2d1 (patch)
tree5c1996f9a2943cc130c067546960732d2d81129b /main/translate.c
parent31268e0a280110748f33314a2c09563c576243de (diff)
media: Add experimental support for RTCP feedback.
This change adds experimental support for providing RTCP feedback information to codec modules so they can dynamically change themselves based on conditions. ASTERISK-26584 Change-Id: Ifd6aa77fb4a7ff546c6025900fc2baf332c31857
Diffstat (limited to 'main/translate.c')
-rw-r--r--main/translate.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/main/translate.c b/main/translate.c
index fa606e71b..168a72a4b 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -530,6 +530,17 @@ struct ast_frame *ast_translate(struct ast_trans_pvt *path, struct ast_frame *f,
long len;
int seqno;
+ if (f->frametype == AST_FRAME_RTCP) {
+ /* Just pass the feedback to the right callback, if it exists.
+ * This "translation" does nothing so return a null frame. */
+ struct ast_trans_pvt *tp;
+ for (tp = p; tp; tp = tp->next) {
+ if (tp->t->feedback)
+ tp->t->feedback(tp, f);
+ }
+ return &ast_null_frame;
+ }
+
has_timing_info = ast_test_flag(f, AST_FRFLAG_HAS_TIMING_INFO);
ts = f->ts;
len = f->len;