[asterisk-commits] branch group/rtpjitterbuffer r30801 - /team/group/rtpjitterbuffer/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue May 30 09:06:33 MST 2006


Author: russell
Date: Tue May 30 11:06:33 2006
New Revision: 30801

URL: http://svn.digium.com/view/asterisk?rev=30801&view=rev
Log:
Fix up this branch so it works as expected
- remove a duplicate call to ast_write() in ast_generic_bridge() that caused
  frames going to channels without a jitterbuffer to receive two of every frame
- fix where in cases involving transcoding, timing information on ast_frames
  would get lost

Thank you very much to Slav Klenov for working with me today on this!

Modified:
    team/group/rtpjitterbuffer/abstract_jb.c
    team/group/rtpjitterbuffer/channel.c
    team/group/rtpjitterbuffer/translate.c

Modified: team/group/rtpjitterbuffer/abstract_jb.c
URL: http://svn.digium.com/view/asterisk/team/group/rtpjitterbuffer/abstract_jb.c?rev=30801&r1=30800&r2=30801&view=diff
==============================================================================
--- team/group/rtpjitterbuffer/abstract_jb.c (original)
+++ team/group/rtpjitterbuffer/abstract_jb.c Tue May 30 11:06:33 2006
@@ -322,8 +322,9 @@
 
 	/* We consider an enabled jitterbuffer should receive frames with valid timing info. */
 	if (!f->has_timing_info || f->len < 2 || f->ts < 0) {
-		ast_log(LOG_WARNING, "Recieved frame with invalid timing info: "
-			"has_timing_info=%d, len=%ld, ts=%ld\n", f->has_timing_info, f->len, f->ts);
+		ast_log(LOG_WARNING, "%s recieved frame with invalid timing info: "
+			"has_timing_info=%d, len=%ld, ts=%ld, src=%s\n",
+			chan->name, f->has_timing_info, f->len, f->ts, f->src);
 		return -1;
 	}
 

Modified: team/group/rtpjitterbuffer/channel.c
URL: http://svn.digium.com/view/asterisk/team/group/rtpjitterbuffer/channel.c?rev=30801&r1=30800&r2=30801&view=diff
==============================================================================
--- team/group/rtpjitterbuffer/channel.c (original)
+++ team/group/rtpjitterbuffer/channel.c Tue May 30 11:06:33 2006
@@ -3429,8 +3429,6 @@
 				ast_write(other, f);
 #endif /* AST_JB */
 			}
-			/* other frames go to the other side */
-			ast_write(other, f);
 		}
 		/* XXX do we want to pass on also frames not matched above ? */
 		ast_frfree(f);

Modified: team/group/rtpjitterbuffer/translate.c
URL: http://svn.digium.com/view/asterisk/team/group/rtpjitterbuffer/translate.c?rev=30801&r1=30800&r2=30801&view=diff
==============================================================================
--- team/group/rtpjitterbuffer/translate.c (original)
+++ team/group/rtpjitterbuffer/translate.c Tue May 30 11:06:33 2006
@@ -154,6 +154,14 @@
 	int16_t *dst = (int16_t *)pvt->outbuf;
 	int ret;
 	int samples = pvt->samples;	/* initial value */
+	
+#ifdef AST_JB
+	/* Copy the last in jb timing info to the pvt */
+	pvt->f.has_timing_info = f->has_timing_info;
+	pvt->f.ts = f->ts;
+	pvt->f.len = f->len;
+	pvt->f.seqno = f->seqno;
+#endif /* AST_JB */
 
 	if (f->samples == 0) {
 		ast_log(LOG_WARNING, "no samples for %s\n", pvt->t->name);
@@ -290,7 +298,7 @@
 	long ts;
 	long len;
 	int seqno;
-	
+
 	has_timing_info = f->has_timing_info;
 	ts = f->ts;
 	len = f->len;



More information about the asterisk-commits mailing list