-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3379/
-----------------------------------------------------------

(Updated March 28, 2014, 3:14 p.m.)


Review request for Asterisk Developers.


Changes
-------

Responded to all review feedback. Figured out how to eliminate the race 
conditions by using a while loop to make continued passed through the playback 
channels list until either we get one that works or one can't be found. If one 
is found and playback can't be queued to it, that should mean it's going to be 
eliminated soon... so this should be safe. I tested what could happen if 
playbacks were queued while a couple things that were happening that I will 
take in the review.


Bugs: ASTERISK-22677
    https://issues.asterisk.org/jira/browse/ASTERISK-22677


Repository: Asterisk


Description
-------

Previously, if you played an audio file and then played another before the 
first finished, the second audio file would start playing immediately as it was 
called overlapping the previous sound. Apparently people don't like that. This 
patch changes that behavior so that the sound will be queued at the end of any 
existing controls if they are running.


Diffs (updated)
-----

  /branches/12/rest-api/api-docs/bridges.json 411187 
  /branches/12/res/stasis/control.c 411187 
  /branches/12/res/stasis/control.h 411187 
  /branches/12/res/res_stasis_playback.c 411187 
  /branches/12/res/res_stasis.c 411187 
  /branches/12/res/res_ari_bridges.c 411187 
  /branches/12/res/ari/resource_bridges.c 411187 
  /branches/12/res/ari/resource_bridges.h 411187 
  /branches/12/include/asterisk/stasis_app.h 411187 
  /branches/12/CHANGES 411187 

Diff: https://reviewboard.asterisk.org/r/3379/diff/


Testing
-------

Tested for playback channel wrapper leaks, tested to make sure control objects 
were being destroyed when they fell out of use.  Tested playing of a single 
file. Tested playing of multiple files in a row. Tested playing of multiple 
files in a row and then after a sequence finished, playing additional files so 
that new channels would have to be created. Tested playing sounds right as 
other sounds were concluding. I wasn't able to break it (although I wouldn't be 
surprised if there is a possible condition where you can grab a control as it 
is finishing up its queue and then attempting to add a sound to a finished 
queue causing the playback to fail. I don't think this would break things in a 
profound way, it just might possibly make one sound fail to queue under 
extremely unlikely conditions).


Thanks,

Jonathan Rose

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to