]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_stasis_playback: Send PlaybackFinish event only once for errors
authorAndre Barbosa <andre.emanuel.barbosa@gmail.com>
Fri, 4 Jun 2021 11:11:10 +0000 (12:11 +0100)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Thu, 24 Jun 2021 13:56:08 +0000 (08:56 -0500)
commit283812e492d9b2236ea2a07a1124003afd9ed0b5
treeae70c3d34485d54d4cf8160ab7a25bb077a54379
parent88da59efe7067de216d24eb74141c1c3a23f992f
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
doc/CHANGES-staging/res_stasis_playback.txt [new file with mode: 0644]
include/asterisk/stasis_app_playback.h
res/res_stasis_playback.c
rest-api/api-docs/playbacks.json