mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-23 04:31:50 +00:00
let codecs and timers be init with an existing pool
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@209 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -77,7 +77,7 @@ SWITCH_DECLARE(void *) switch_core_hash_find(switch_hash *hash, char *key);
|
||||
SWITCH_DECLARE(void) switch_core_launch_thread(void *(*func)(switch_thread *, void*), void *obj);
|
||||
SWITCH_DECLARE(FILE *) switch_core_data_channel(switch_text_channel channel);
|
||||
SWITCH_DECLARE(void) switch_core_session_launch_thread(switch_core_session *session, void *(*func)(switch_thread *, void *), void *obj);
|
||||
SWITCH_DECLARE(switch_status) switch_core_timer_init(switch_timer *timer, char *timer_name, int interval, int samples);
|
||||
SWITCH_DECLARE(switch_status) switch_core_timer_init(switch_timer *timer, char *timer_name, int interval, int samples, switch_memory_pool *pool);
|
||||
SWITCH_DECLARE(int) switch_core_timer_next(switch_timer *timer);
|
||||
SWITCH_DECLARE(switch_status) switch_core_timer_destroy(switch_timer *timer);
|
||||
SWITCH_DECLARE(void) switch_core_thread_session_end(switch_core_thread_session *thread_session);
|
||||
@@ -101,7 +101,7 @@ SWITCH_DECLARE(switch_status) switch_core_session_add_event_hook_kill_channel(sw
|
||||
SWITCH_DECLARE(switch_status) switch_core_session_add_event_hook_waitfor_read(switch_core_session *session, switch_waitfor_read_hook waitfor_read);
|
||||
SWITCH_DECLARE(switch_status) switch_core_session_add_event_hook_waitfor_write(switch_core_session *session, switch_waitfor_write_hook waitfor_write);
|
||||
SWITCH_DECLARE(switch_status) switch_core_session_add_event_hook_send_dtmf(switch_core_session *session, switch_send_dtmf_hook send_dtmf);
|
||||
SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec, char *codec_name, int rate, int ms, switch_codec_flag flags, const switch_codec_settings *codec_settings);
|
||||
SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec, char *codec_name, int rate, int ms, switch_codec_flag flags, const switch_codec_settings *codec_settings, switch_memory_pool *pool);
|
||||
SWITCH_DECLARE(switch_status) switch_core_codec_encode(switch_codec *codec,
|
||||
switch_codec *other_codec,
|
||||
void *decoded_data,
|
||||
|
||||
@@ -47,6 +47,7 @@ struct switch_loadable_module_interface {
|
||||
const switch_codec_interface *codec_interface;
|
||||
const switch_application_interface *application_interface;
|
||||
const switch_api_interface *api_interface;
|
||||
const switch_file_interface *file_interface;
|
||||
};
|
||||
|
||||
SWITCH_DECLARE(switch_status) switch_loadable_module_init(void);
|
||||
@@ -59,6 +60,7 @@ SWITCH_DECLARE(switch_api_interface *) loadable_module_get_api_interface(char *n
|
||||
SWITCH_DECLARE(int) loadable_module_get_codecs(switch_memory_pool *pool, switch_codec_interface **array, int arraylen);
|
||||
SWITCH_DECLARE(int) loadable_module_get_codecs_sorted(switch_memory_pool *pool, switch_codec_interface **array, int arraylen, char **prefs, int preflen);
|
||||
SWITCH_DECLARE(switch_status) switch_api_execute(char *cmd, char *arg, char *retbuf, size_t len);
|
||||
SWITCH_DECLARE(switch_api_interface *) loadable_module_get_file_interface(char *name);
|
||||
SWITCH_DECLARE(void) loadable_module_shutdown(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -135,6 +135,7 @@ struct switch_endpoint_interface {
|
||||
|
||||
struct switch_timer {
|
||||
int interval;
|
||||
unsigned int flags;
|
||||
unsigned int samples;
|
||||
unsigned int samplecount;
|
||||
struct switch_timer_interface *timer_interface;
|
||||
@@ -158,16 +159,20 @@ struct switch_dialplan_interface {
|
||||
|
||||
struct switch_file_interface {
|
||||
const char *interface_name;
|
||||
switch_status (*file_open)(switch_file_handle *);
|
||||
switch_status (*file_close)(switch_file_handle *);
|
||||
switch_status (*file_read)(switch_file_handle *, void *data, size_t len);
|
||||
switch_status (*file_write)(switch_file_handle *, void *data, size_t len);
|
||||
switch_status (*file_seek)(switch_file_handle *, unsigned int samples, int whence);
|
||||
const struct switch_file_interface *next;
|
||||
const char *extens[];
|
||||
|
||||
};
|
||||
|
||||
struct switch_file_handle {
|
||||
const struct switch_file_interface *file_interface;
|
||||
unsigned int flags;
|
||||
switch_file_t *fd;
|
||||
unsigned int sample_count;
|
||||
switch_codec_flag flags;
|
||||
switch_memory_pool *memory_pool;
|
||||
void *private;
|
||||
};
|
||||
|
||||
@@ -109,9 +109,14 @@ typedef enum {
|
||||
SWITCH_CODEC_FLAG_SILENCE_START = (1 << 2),
|
||||
SWITCH_CODEC_FLAG_SILENCE_STOP = (1 << 3),
|
||||
SWITCH_CODEC_FLAG_SILENCE = (1 << 4),
|
||||
SWITCH_CODEC_FLAG_FREE_POOL = (1 << 5),
|
||||
|
||||
} switch_codec_flag;
|
||||
|
||||
typedef enum {
|
||||
SWITCH_TIMER_FLAG_FREE_POOL = (1 << 0),
|
||||
} switch_timer_flag;
|
||||
|
||||
typedef enum {
|
||||
SWITCH_CODEC_TYPE_AUDIO,
|
||||
SWITCH_CODEC_TYPE_VIDEO,
|
||||
@@ -158,6 +163,8 @@ typedef struct switch_dialplan_interface switch_dialplan_interface;
|
||||
typedef struct switch_codec_interface switch_codec_interface;
|
||||
typedef struct switch_application_interface switch_application_interface;
|
||||
typedef struct switch_api_interface switch_api_interface;
|
||||
typedef struct switch_file_interface switch_file_interface;
|
||||
typedef struct switch_file_handle switch_file_handle;
|
||||
typedef struct switch_core_session switch_core_session;
|
||||
typedef struct switch_loadable_module_interface switch_loadable_module_interface;
|
||||
typedef struct switch_caller_profile switch_caller_profile;
|
||||
|
||||
Reference in New Issue
Block a user