Merge "main/file: Add the ability to play media in the media cache"

changes/53/2453/1
Joshua Colp 9 years ago committed by Gerrit Code Review
commit b1c688acab

@ -31,6 +31,21 @@ ConfBridge
- record_command: a command to execute when recording is finished
Note that these options may also be with the CONFBRIDGE function.
ControlPlayback
------------------
* Remote files can now be retrieved and played back. See the Playback
dialplan application for more details.
Playback
------------------
* Remote files can now be retrieved and played back via the Playback and other
media playback dialplan applications. This is done by directly providing
the URL to play to the dialplan application:
same => n,Playback(http://1.1.1.1/howler-monkeys-fl.wav)
Note that unlike 'normal' media files, the entire URI to the file must be
provided, including the file extension. Currently, on HTTP and HTTPS URI
schemes are supported.
SMS
------------------
* Added the 'n' option, which prevents the SMS from being written to the log
@ -132,6 +147,17 @@ Core
of '[json]' can be set, e.g.,
full => [json]debug,verbose,notice,warning,error
* The core now supports a 'media cache', which stores temporary media files
retrieved from external sources. CLI commands have been added to manipulate
and display the cached files, including:
- 'media cache show <all>' - show all cached media files, or details about
one particular cached media file
- 'media cache refresh <item>' - force a refresh of a particular media file
in the cache
- 'media cache delete <item>' - remove an item from the cache
- 'media cache create <uri>' - retrieve a URI and store it in the cache
Functions
------------------

@ -54,6 +54,7 @@ ASTERISK_REGISTER_FILE()
#include "asterisk/stasis.h"
#include "asterisk/json.h"
#include "asterisk/stasis_system.h"
#include "asterisk/media_cache.h"
/*! \brief
* The following variable controls the layout of localized sound files.
@ -644,6 +645,10 @@ static int fileexists_test(const char *filename, const char *fmt, const char *la
return 0;
}
if (!ast_media_cache_retrieve(filename, NULL, buf, buflen)) {
return filehelper(buf, result_cap, NULL, ACTION_EXISTS);
}
if (ast_language_is_prefix && !is_absolute_path(filename)) { /* new layout */
if (lang) {
snprintf(buf, buflen, "%s/%s", lang, filename);

Loading…
Cancel
Save