mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 02:26:23 +00:00
Merge "main/file: Add the ability to play media in the media cache"
This commit is contained in:
26
CHANGES
26
CHANGES
@@ -31,6 +31,21 @@ ConfBridge
|
|||||||
- record_command: a command to execute when recording is finished
|
- record_command: a command to execute when recording is finished
|
||||||
Note that these options may also be with the CONFBRIDGE function.
|
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
|
SMS
|
||||||
------------------
|
------------------
|
||||||
* Added the 'n' option, which prevents the SMS from being written to the log
|
* 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.,
|
of '[json]' can be set, e.g.,
|
||||||
full => [json]debug,verbose,notice,warning,error
|
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
|
Functions
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
@@ -54,6 +54,7 @@ ASTERISK_REGISTER_FILE()
|
|||||||
#include "asterisk/stasis.h"
|
#include "asterisk/stasis.h"
|
||||||
#include "asterisk/json.h"
|
#include "asterisk/json.h"
|
||||||
#include "asterisk/stasis_system.h"
|
#include "asterisk/stasis_system.h"
|
||||||
|
#include "asterisk/media_cache.h"
|
||||||
|
|
||||||
/*! \brief
|
/*! \brief
|
||||||
* The following variable controls the layout of localized sound files.
|
* 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;
|
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 (ast_language_is_prefix && !is_absolute_path(filename)) { /* new layout */
|
||||||
if (lang) {
|
if (lang) {
|
||||||
snprintf(buf, buflen, "%s/%s", lang, filename);
|
snprintf(buf, buflen, "%s/%s", lang, filename);
|
||||||
|
Reference in New Issue
Block a user