summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2016-03-31 07:04:55 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2016-03-31 07:04:55 -0500
commit99c749cf26d66c915ba6cf2f1f643963dcc1e757 (patch)
treeb69281c1ffe923a86a02c9ef183319511c8f087a
parentb2bcad9d6235b233e2da0e98989bbe3e049f0359 (diff)
parent724b9ab28fecd06b0a1c13e0b71024728336bfe8 (diff)
Merge "res_rtp_asterisk: Fix placement of txcount increment"
-rw-r--r--res/res_rtp_asterisk.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 45bc3103a..9cc9f92a9 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -2252,7 +2252,6 @@ static int __rtp_sendto(struct ast_rtp_instance *instance, void *buf, size_t siz
struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
struct ast_srtp *srtp = ast_rtp_instance_get_srtp(instance);
int res;
- int hdrlen = 12;
*ice = 0;
@@ -2260,9 +2259,6 @@ static int __rtp_sendto(struct ast_rtp_instance *instance, void *buf, size_t siz
return -1;
}
- rtp->txcount++;
- rtp->txoctetcount += (len - hdrlen);
-
#ifdef HAVE_PJPROJECT
if (rtp->ice) {
pj_thread_register_check();
@@ -2289,7 +2285,16 @@ static int rtcp_sendto(struct ast_rtp_instance *instance, void *buf, size_t size
static int rtp_sendto(struct ast_rtp_instance *instance, void *buf, size_t size, int flags, struct ast_sockaddr *sa, int *ice)
{
- return __rtp_sendto(instance, buf, size, flags, sa, 0, ice, 1);
+ struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
+ int hdrlen = 12;
+ int res;
+
+ if ((res = __rtp_sendto(instance, buf, size, flags, sa, 0, ice, 1)) > 0) {
+ rtp->txcount++;
+ rtp->txoctetcount += (res - hdrlen);
+ }
+
+ return res;
}
static int rtp_get_rate(struct ast_format *format)