diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 22:16:32 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 22:16:32 +0000 |
commit | ab9fa9a907c630821965072cbb9d6559e14804b2 (patch) | |
tree | 4fff511992df80b6b9b244e53b18eaee008606ad /main/audiohook.c | |
parent | d82e6c48cfaab526148775f91c083dc66a14c717 (diff) |
Merged revisions 147518,147689,148000,148112,148268,148917,148988,149062,149131,149201,149205,149208 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r147518 | file | 2008-10-08 09:53:51 -0500 (Wed, 08 Oct 2008) | 9 lines
Merged revisions 147517 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r147517 | file | 2008-10-08 11:51:42 -0300 (Wed, 08 Oct 2008) | 2 lines
If we receive DTMF make sure that the state of the speech structure goes back to being not ready. (issue #LUMENVOX-8)
........
................
r147689 | kpfleming | 2008-10-08 17:26:55 -0500 (Wed, 08 Oct 2008) | 9 lines
Merged revisions 147681 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r147681 | kpfleming | 2008-10-08 17:22:09 -0500 (Wed, 08 Oct 2008) | 3 lines
when parsing a text configuration option, ensure that the buffer on the stack is actually large enough to hold the legal values of that option, and also ensure that sscanf() knows to stop parsing if it would overrun the buffer (without these changes, specifying "buffers=...,immediate" would overflow the buffer on the stack, and could not have worked as expected)
........
................
r148000 | tilghman | 2008-10-09 14:39:34 -0500 (Thu, 09 Oct 2008) | 11 lines
Merged revisions 147997 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r147997 | tilghman | 2008-10-09 14:38:33 -0500 (Thu, 09 Oct 2008) | 4 lines
When blank, callerid name and number should display "unknown caller" in voicemail
emails.
(Closes issue #13643)
........
................
r148112 | mmichelson | 2008-10-09 18:15:33 -0500 (Thu, 09 Oct 2008) | 26 lines
Merged revisions 146026 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r146026 | murf | 2008-10-03 12:12:54 -0500 (Fri, 03 Oct 2008) | 18 lines
(closes issue #13579)
Reported by: dwagner
(closes issue #13584)
Reported by: dwagner
Tested by: murf, putnopvut
The thought occurred to me that the res= from the extension spawn
was ending up being returned from the bridge.
"Thou shalt not poison the return value". Made the change
and it appears to allow blind xfers to work as normal.
If I'm wrong, reopen the bugs. But it looks good to me!
Many thanks to putnopvut for helping me reproduce this!
........
................
r148268 | tilghman | 2008-10-10 11:31:31 -0500 (Fri, 10 Oct 2008) | 14 lines
Merged revisions 148257 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r148257 | tilghman | 2008-10-10 11:25:31 -0500 (Fri, 10 Oct 2008) | 7 lines
User not notified of temporary greeting, if ODBC storage is in use.
(closes issue #13659)
Reported by: moliveras
Patches:
20081009__bug13659.diff.txt uploaded by Corydon76 (license 14)
Tested by: moliveras
........
................
r148917 | tilghman | 2008-10-14 12:46:48 -0500 (Tue, 14 Oct 2008) | 11 lines
Merged revisions 148916 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r148916 | tilghman | 2008-10-14 12:41:08 -0500 (Tue, 14 Oct 2008) | 4 lines
Ensure that mail headers are 7-bit clean, even when UTF-8 characters are used
in headers like 'Subject' and 'To'.
Closes AST-107.
........
................
r148988 | tilghman | 2008-10-14 14:03:44 -0500 (Tue, 14 Oct 2008) | 9 lines
Merged revisions 148987 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r148987 | tilghman | 2008-10-14 14:03:08 -0500 (Tue, 14 Oct 2008) | 2 lines
Some compilers warn, some don't. Fixing.
........
................
r149062 | tilghman | 2008-10-14 15:16:48 -0500 (Tue, 14 Oct 2008) | 13 lines
Merged revisions 149061 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r149061 | tilghman | 2008-10-14 15:09:06 -0500 (Tue, 14 Oct 2008) | 6 lines
Check correct values in the return of ast_waitfor(); also, get rid of a
possible memory leak.
(closes issue #13658)
Reported by: explidous
Patch by: me
........
................
r149131 | mmichelson | 2008-10-14 16:08:48 -0500 (Tue, 14 Oct 2008) | 15 lines
Merged revisions 149130 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r149130 | mmichelson | 2008-10-14 15:49:02 -0500 (Tue, 14 Oct 2008) | 7 lines
Don't allow reserved characters to be used in register
lines in sip.conf.
(closes issue #13570)
Reported by: putnopvut
........
................
r149201 | mmichelson | 2008-10-14 17:41:13 -0500 (Tue, 14 Oct 2008) | 20 lines
Merged revisions 149200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r149200 | mmichelson | 2008-10-14 17:40:42 -0500 (Tue, 14 Oct 2008) | 12 lines
Update the queue with the correct number of calls and
whether the call was completed within the service level
when a transfer takes place. This way, we do not "break"
the leastrecent and fewestcalls strategies by not logging
a call until after the transferred call has ended.
(closes issue #13395)
Reported by: Marquis
Patches:
app_queue.c.transfer.patch uploaded by Marquis (license 32)
........
................
r149205 | mmichelson | 2008-10-14 18:04:44 -0500 (Tue, 14 Oct 2008) | 20 lines
Merged revisions 149204 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r149204 | mmichelson | 2008-10-14 18:00:01 -0500 (Tue, 14 Oct 2008) | 12 lines
Add a tolerance period for sync-triggered audiohooks
so that if packetization of audio is close (but not equal)
we don't end up flushing the audiohooks over small
inconsistencies in synchronization.
Related to issue #13005, and solves the issue
for most people who were experiencing the problem.
However, a small number of people are still experiencing
the problem on long calls, so I am not closing
the issue yet
........
................
r149208 | mmichelson | 2008-10-14 18:15:04 -0500 (Tue, 14 Oct 2008) | 17 lines
Merged revisions 149207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r149207 | mmichelson | 2008-10-14 18:10:26 -0500 (Tue, 14 Oct 2008) | 9 lines
Call register_peer_exten even in the case that the peer's
IP/port does not change.
(closes issue #13309)
Reported by: dimas
Patches:
v2-13309.patch uploaded by dimas (license 88)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@160387 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/audiohook.c')
-rw-r--r-- | main/audiohook.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/main/audiohook.c b/main/audiohook.c index a85f4cba6..ce0039bdd 100644 --- a/main/audiohook.c +++ b/main/audiohook.c @@ -123,12 +123,18 @@ int ast_audiohook_write_frame(struct ast_audiohook *audiohook, enum ast_audiohoo struct ast_slinfactory *factory = (direction == AST_AUDIOHOOK_DIRECTION_READ ? &audiohook->read_factory : &audiohook->write_factory); struct ast_slinfactory *other_factory = (direction == AST_AUDIOHOOK_DIRECTION_READ ? &audiohook->write_factory : &audiohook->read_factory); struct timeval *time = (direction == AST_AUDIOHOOK_DIRECTION_READ ? &audiohook->read_time : &audiohook->write_time), previous_time = *time; + int our_factory_ms; + int other_factory_samples; + int other_factory_ms; /* Update last feeding time to be current */ *time = ast_tvnow(); - /* If we are using a sync trigger and this factory suddenly got audio fed in after a lapse, then flush both factories to ensure they remain in sync */ - if (ast_test_flag(audiohook, AST_AUDIOHOOK_TRIGGER_SYNC) && ast_slinfactory_available(other_factory) && (ast_tvdiff_ms(*time, previous_time) > (ast_slinfactory_available(other_factory) / 8))) { + our_factory_ms = ast_tvdiff_ms(*time, previous_time) + (ast_slinfactory_available(factory) / 8); + other_factory_samples = ast_slinfactory_available(other_factory); + other_factory_ms = other_factory_samples / 8; + + if (ast_test_flag(audiohook, AST_AUDIOHOOK_TRIGGER_SYNC) && other_factory_samples && (our_factory_ms - other_factory_ms > AST_AUDIOHOOK_SYNC_TOLERANCE)) { if (option_debug) ast_log(LOG_DEBUG, "Flushing audiohook %p so it remains in sync\n", audiohook); ast_slinfactory_flush(factory); |