[asterisk-commits] irroot: branch irroot/distrotech-customers-10 r336155 - /team/irroot/distrote...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Sep 15 14:01:38 CDT 2011


Author: irroot
Date: Thu Sep 15 14:01:32 2011
New Revision: 336155

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=336155
Log:
Merged revisions 336042,336091,336094 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336042 | oej | 2011-09-15 14:46:38 +0200 (Thu, 15 Sep 2011) | 12 lines
  
  Meetme: Introducing a new option "k" to kill a conference if there's only a single member left.
  
  When using Meetme as a modular call bridge from third party applications, it's handy to make
  it behave like a normal call bridge. When the second to last person exists, the last person
  will be kicked out of the conference when this option is enabled.
  
  (closes issue ASTERISK-18234)
  
  Review: https://reviewboard.asterisk.org/r/1376/
  
  Patch by oej, sponsored by ClearIT, Solna, Sweden
................
  r336091 | dvossel | 2011-09-15 17:19:10 +0200 (Thu, 15 Sep 2011) | 2 lines
  
  Removes some no-op code found in format_cap.c.
................
  r336094 | irroot | 2011-09-15 17:54:46 +0200 (Thu, 15 Sep 2011) | 26 lines
  
  Merged revisions 336093 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336093 | irroot | 2011-09-15 17:46:21 +0200 (Thu, 15 Sep 2011) | 20 lines
    
    
    Locking order in app_queue.c causes deadlocks.
    
    a channel lock must never be held with the queues container lock held.
    
    the deadlock occured on masquerade.
    
    the queues container lock is a relic of the past the old queue module lock.
    with ao2 there is no need to hold this lock when dealing with members this
    patch removes unneeded locks.
    
    (closes issue ASTERISK-18101)
    (closes issue ASTERISK-18487)
    Reported by: Paul Rolfe, Jason Legault
    Tested by: irroot, Jason Legault, Paul Rolfe
    Reviewed by: Matthew Nicholson
    
    Review: https://reviewboard.asterisk.org/r/1402/
  ........
................

Modified:
    team/irroot/distrotech-customers-10/res/res_fax.c

Modified: team/irroot/distrotech-customers-10/res/res_fax.c
URL: http://svnview.digium.com/svn/asterisk/team/irroot/distrotech-customers-10/res/res_fax.c?view=diff&rev=336155&r1=336154&r2=336155
==============================================================================
--- team/irroot/distrotech-customers-10/res/res_fax.c (original)
+++ team/irroot/distrotech-customers-10/res/res_fax.c Thu Sep 15 14:01:32 2011
@@ -3102,7 +3102,7 @@
 	int res = 0;
 	int dspnoise = 0;
 	struct ast_dsp *dsp = NULL;
-	struct ast_frame *f;
+	struct ast_frame *f, *dup_f;
 	enum ast_t38_state t38state = T38_STATE_UNKNOWN;
 	struct ast_format orig_read_format;
 	AST_LIST_HEAD_NOLOCK(, ast_frame) deferred_frames;
@@ -3120,13 +3120,13 @@
 			}
 	}
 
-	if ((dsp = ast_dsp_new())) {
-		ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
-		ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
-		ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
-	} else {
+	if (!(dsp = ast_dsp_new())) {
 		return -1;
 	}
+
+	ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
+	ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
+	ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
 
 	AST_LIST_HEAD_INIT_NOLOCK(&deferred_frames);
 
@@ -3169,7 +3169,11 @@
 
 	ast_channel_lock(chan);
 	while ((f = AST_LIST_REMOVE_HEAD(&deferred_frames, frame_list))) {
-		ast_queue_frame_head(chan, ast_frisolate(f));
+		dup_f = ast_frisolate(f);
+		ast_queue_frame_head(chan, dup_f;
+		if (dup_f != f) {
+			ast_frfree(f);
+		}
 	}
 	ast_channel_unlock(chan);
 




More information about the asterisk-commits mailing list