res_stasis_playback: Send PlaybackFinish event only once for errors
When we try to play a list of sound files in the same Play command, we get only one PlaybackFinish event, after all sounds are played. But in the case where the Play fails (because channel is destroyed for example), Asterisk will send one PlaybackFinish event for each sound file still to be played. If the list is big, Asterisk is sending many events. This patch adds a failed state so we can understand that the play failed. On that case we don't send the event, if we still have a list of sounds to be played. When we reach the last sound, we send the PlaybackFinish with the failed state. ASTERISK-29464 #close Change-Id: I4c2e5921cc597702513af0d7c6c2c982e1798322
Showing
- doc/CHANGES-staging/res_stasis_playback.txt 9 additions, 0 deletionsdoc/CHANGES-staging/res_stasis_playback.txt
- include/asterisk/stasis_app_playback.h 2 additions, 0 deletionsinclude/asterisk/stasis_app_playback.h
- res/res_stasis_playback.c 10 additions, 1 deletionres/res_stasis_playback.c
- rest-api/api-docs/playbacks.json 2 additions, 1 deletionrest-api/api-docs/playbacks.json
Loading
Please register or sign in to comment