diff options
author | David M. Lee <dlee@digium.com> | 2013-08-06 14:44:45 +0000 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2013-08-06 14:44:45 +0000 |
commit | c79084879427750dc848834a8390bb0c8468f24b (patch) | |
tree | 2e6c4371cda2c73172642b267aa54dea469d600d /include/asterisk/stasis_app_recording.h | |
parent | b97d318b7bc31b47fbd4b74421e351095f05139d (diff) |
ARI: Add recording controls
This patch implements the controls from ARI recordings. The controls
are:
* DELETE /recordings/live/{recordingName} - stop recording and
discard it
* POST /recordings/live/{recordingName}/stop - stop recording
* POST /recordings/live/{recordingName}/pause - pause recording
* POST /recordings/live/{recordingName}/unpause - resume recording
* POST /recordings/live/{recordingName}/mute - mute recording (record
silence to the file)
* POST /recordings/live/{recordingName}/unmute - unmute recording.
Since this underlying functionality did not already exist, is was
added to app.c by a set of control frames, similar to how playback
control works. The pause/mute control frames are toggles, even though
the ARI controls are idempotent, to be consistent with the playback
control frames.
(closes issue ASTERISK-22181)
Review: https://reviewboard.asterisk.org/r/2697/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/stasis_app_recording.h')
-rw-r--r-- | include/asterisk/stasis_app_recording.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/include/asterisk/stasis_app_recording.h b/include/asterisk/stasis_app_recording.h index 9c9930406..e8b4558ab 100644 --- a/include/asterisk/stasis_app_recording.h +++ b/include/asterisk/stasis_app_recording.h @@ -44,14 +44,30 @@ enum stasis_app_recording_state { STASIS_APP_RECORDING_STATE_PAUSED, /*! The media has stopped recording */ STASIS_APP_RECORDING_STATE_COMPLETE, - /*! The media has stopped playing */ + /*! The media has stopped recording, with error */ STASIS_APP_RECORDING_STATE_FAILED, + /*! The media has stopped recording, discard the recording file */ + STASIS_APP_RECORDING_STATE_CANCELED, + /*! Sentinel */ + STASIS_APP_RECORDING_STATE_MAX, }; /*! Valid operation for controlling a recording. */ enum stasis_app_recording_media_operation { - /*! Stop the recording operation. */ + /*! Stop the recording, deleting the media file(s) */ + STASIS_APP_RECORDING_CANCEL, + /*! Stop the recording. */ STASIS_APP_RECORDING_STOP, + /*! Pause the recording */ + STASIS_APP_RECORDING_PAUSE, + /*! Unpause the recording */ + STASIS_APP_RECORDING_UNPAUSE, + /*! Mute the recording (record silence) */ + STASIS_APP_RECORDING_MUTE, + /*! Unmute the recording */ + STASIS_APP_RECORDING_UNMUTE, + /*! Sentinel */ + STASIS_APP_RECORDING_OPER_MAX, }; #define STASIS_APP_RECORDING_TERMINATE_INVALID 0 |