[Freeswitch-svn] [commit] r4598 - in freeswitch/trunk/src: . include mod/applications/mod_conference mod/endpoints/mod_portaudio

Freeswitch SVN anthm at freeswitch.org
Wed Mar 14 20:36:14 EDT 2007


Author: anthm
Date: Wed Mar 14 20:36:14 2007
New Revision: 4598

Modified:
   freeswitch/trunk/src/include/switch_core.h
   freeswitch/trunk/src/include/switch_module_interfaces.h
   freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
   freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
   freeswitch/trunk/src/switch_core.c
   freeswitch/trunk/src/switch_ivr.c

Log:
update

Modified: freeswitch/trunk/src/include/switch_core.h
==============================================================================
--- freeswitch/trunk/src/include/switch_core.h	(original)
+++ freeswitch/trunk/src/include/switch_core.h	Wed Mar 14 20:36:14 2007
@@ -1109,14 +1109,18 @@
 /*! 
   \brief Open a media file using file format modules
   \param fh a file handle to use
+  \param codec_imp the codec implementation being used
   \param file_path the path to the file
   \param flags read/write flags
   \param pool the pool to use (NULL for new pool)
   \return SWITCH_STATUS_SUCCESS if the file is opened
   \note the loadable module used is chosen based on the file extension
 */
-SWITCH_DECLARE(switch_status_t) switch_core_file_open(switch_file_handle_t *fh, char *file_path, unsigned int flags, switch_memory_pool_t *pool);
-
+SWITCH_DECLARE(switch_status_t) switch_core_file_open(switch_file_handle_t *fh, 
+													  const switch_codec_implementation_t *codec_imp,
+													  char *file_path, 
+													  unsigned int flags,
+													  switch_memory_pool_t *pool);
 /*! 
   \brief Read media from a file handle
   \param fh the file handle to read from (must be initilized by you memset all 0 for read, fill in channels and rate for write)

Modified: freeswitch/trunk/src/include/switch_module_interfaces.h
==============================================================================
--- freeswitch/trunk/src/include/switch_module_interfaces.h	(original)
+++ freeswitch/trunk/src/include/switch_module_interfaces.h	Wed Mar 14 20:36:14 2007
@@ -311,6 +311,8 @@
 	switch_memory_pool_t *memory_pool;
 	/*! private data for the format module to store handle specific info */
 	void *private_info;
+	char *handler;
+	const switch_codec_implementation_t *codec_imp;
 	int64_t pos;
 	switch_buffer_t *audio_buffer;
     uint32_t thresh;

Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	Wed Mar 14 20:36:14 2007
@@ -1781,6 +1781,7 @@
 	}
 
 	if (switch_core_file_open(&fh, 
+							  NULL,
 							  rec->path, 
 							  SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, 
 							  rec->pool) != SWITCH_STATUS_SUCCESS) {
@@ -1957,6 +1958,7 @@
 
     /* Open the file */
     if (switch_core_file_open(&fnode->fh, 
+							  NULL,
                               file, 
                               SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, 
                               pool) != SWITCH_STATUS_SUCCESS) {
@@ -2042,6 +2044,7 @@
 
         /* Open the file */
         if (switch_core_file_open(&fnode->fh, 
+								  switch_core_session_get_read_codec(member->session)->implementation,
                                   file, 
                                   SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, 
                                   pool) != SWITCH_STATUS_SUCCESS) {

Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c	Wed Mar 14 20:36:14 2007
@@ -225,6 +225,7 @@
             switch_set_flag_locked((&globals), GFLAG_RING);
             if (ring_file) {
                 if (switch_core_file_open(&fh,
+										  globals.read_codec.implementation,
                                           ring_file,
                                           SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
                                           NULL) == SWITCH_STATUS_SUCCESS) {
@@ -588,6 +589,7 @@
                 }
 
                 if (switch_core_file_open(&tech_pvt->fh,
+										  globals.read_codec.implementation,
                                           tech_pvt->hold_file,
                                           SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
                                           switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) {

Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c	(original)
+++ freeswitch/trunk/src/switch_core.c	Wed Mar 14 20:36:14 2007
@@ -1014,8 +1014,11 @@
 	return SWITCH_STATUS_SUCCESS;
 }
 
-SWITCH_DECLARE(switch_status_t) switch_core_file_open(switch_file_handle_t *fh, char *file_path, unsigned int flags,
-													switch_memory_pool_t *pool)
+SWITCH_DECLARE(switch_status_t) switch_core_file_open(switch_file_handle_t *fh, 
+													  const switch_codec_implementation_t *codec_imp,
+													  char *file_path, 
+													  unsigned int flags,
+													  switch_memory_pool_t *pool)
 {
 	char *ext;
 	switch_status_t status;
@@ -1049,6 +1052,12 @@
 		switch_set_flag(fh, SWITCH_FILE_FLAG_FREE_POOL);
 	}
 
+	if (rhs) {
+		fh->handler = switch_core_strdup(fh->memory_pool, rhs);
+	}
+
+	fh->codec_imp = codec_imp;
+	
 	return fh->file_interface->file_open(fh, file_path);
 }
 

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Wed Mar 14 20:36:14 2007
@@ -390,6 +390,7 @@
 
 
 	if (switch_core_file_open(fh,
+							  read_codec->implementation,
 							  file,
 							  SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT,
 							  switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
@@ -628,6 +629,7 @@
 
 
     if (switch_core_file_open(fh,
+							  read_codec->implementation,
                               file,
                               SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT,
                               switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
@@ -1155,6 +1157,7 @@
 	}
 	
 	if (switch_core_file_open(fh,
+							  read_codec->implementation,
 							  file,
 							  SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
 							  switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
@@ -2854,6 +2857,7 @@
 							ringback.fhb.channels = read_codec->implementation->number_of_channels;
 							ringback.fhb.samplerate = read_codec->implementation->samples_per_second;
 							if (switch_core_file_open(&ringback.fhb,
+													  read_codec->implementation,
 													  ringback_data,
 													  SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
 													  switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {



More information about the Freeswitch-svn mailing list