add dynamic buffers

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2585 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-09-08 19:17:23 +00:00
parent 4531a4e3e1
commit eed1180192
2 changed files with 19 additions and 3 deletions

View File

@ -739,7 +739,9 @@ typedef struct switch_file_interface switch_file_interface_t;
typedef struct switch_speech_interface switch_speech_interface_t;
typedef struct switch_directory_interface switch_directory_interface_t;
typedef struct switch_core_port_allocator switch_core_port_allocator_t;
typedef struct switch_audio_bug switch_audio_bug_t;
typedef void (*switch_audio_bug_read_callback_t)(switch_audio_bug_t *);
typedef void (*switch_audio_bug_write_callback_t)(switch_audio_bug_t *);
typedef void (*switch_application_function_t)(switch_core_session_t *, char *);
typedef void (*switch_event_callback_t)(switch_event_t *);
typedef switch_caller_extension_t *(*switch_dialplan_hunt_function_t)(switch_core_session_t *);
@ -784,6 +786,8 @@ typedef switch_xml_t (*switch_xml_search_function_t)(char *section,
struct switch_channel;
/*! \brief A core session representing a call and all of it's resources */
struct switch_core_session;
/*! \brief An audio bug */
struct switch_audio_bug;
SWITCH_END_EXTERN_C

View File

@ -49,6 +49,18 @@
#define SWITCH_EVENT_QUEUE_LEN 256
#define SWITCH_SQL_QUEUE_LEN 2000
struct switch_audio_bug {
switch_codec_t *read_codec;
switch_codec_t *write_codec;
switch_buffer_t *raw_write_buffer;
switch_buffer_t *raw_read_buffer;
uint8_t data[SWITCH_RECCOMMENDED_BUFFER_SIZE];
switch_audio_bug_read_callback_t read_callback;
switch_audio_bug_read_callback_t write_callback;
struct switch_audio_bug *next;
};
struct switch_core_session {
uint32_t id;
char name[80];
@ -1565,8 +1577,8 @@ SWITCH_DECLARE(void) switch_core_session_reset(switch_core_session_t *session)
session->write_resampler = NULL;
/* wipe theese, they will be recreated if need be */
switch_buffer_destroy(&(*session)->raw_read_buffer);
switch_buffer_destroy(&(*session)->raw_write_buffer);
switch_buffer_destroy(&session->raw_read_buffer);
switch_buffer_destroy(&session->raw_write_buffer);
}
SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_session_t *session, switch_frame_t *frame,