[Freeswitch-svn] [commit] r2585 - in freeswitch/trunk/src: . include

Freeswitch SVN anthm at freeswitch.org
Fri Sep 8 15:17:24 EDT 2006


Author: anthm
Date: Fri Sep  8 15:17:23 2006
New Revision: 2585

Modified:
   freeswitch/trunk/src/include/switch_types.h
   freeswitch/trunk/src/switch_core.c

Log:
add dynamic buffers

Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h	(original)
+++ freeswitch/trunk/src/include/switch_types.h	Fri Sep  8 15:17:23 2006
@@ -739,7 +739,9 @@
 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 @@
 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
 

Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c	(original)
+++ freeswitch/trunk/src/switch_core.c	Fri Sep  8 15:17:23 2006
@@ -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 @@
 	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,



More information about the Freeswitch-svn mailing list