From dbc2091ed1a18ae72226eb0bcfec896c821d15d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tuyan=20=C3=96zipek?= Date: Fri, 2 Nov 2007 01:58:19 +0000 Subject: [PATCH] Added temporary codecs so that we can call fs to listen wav files Outgoing opal calls still segfaults with assertion tho.. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6141 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_opal/opal_backend.cpp | 22 ++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_opal/opal_backend.cpp b/src/mod/endpoints/mod_opal/opal_backend.cpp index a42bbd1a89..af5bf37093 100644 --- a/src/mod/endpoints/mod_opal/opal_backend.cpp +++ b/src/mod/endpoints/mod_opal/opal_backend.cpp @@ -39,6 +39,8 @@ typedef struct OpalH323Private_s OpalConnection *m_opalConnection; /** pointer to OpalConnection object */ switch_mutex_t *m_mutex; /** mutex for synchonizing access to session object */ switch_caller_profile_t *m_callerProfile; /** caller profile */ + switch_codec_t m_readcodec; /* Read codec*/ + switch_codec_t m_writecodec; /* Write codec*/ } OpalH323Private_t; @@ -299,7 +301,25 @@ BOOL FSOpalManager::OnIncomingConnection( switch_channel_set_state(channel, CS_INIT); /** Set up codecs for the channel ??? */ - + /* Setting up temporary codecs, so that calling to a wav file does not make fs core dump*/ + if (switch_core_codec_init(&tech_pvt->m_readcodec, + "L16", + NULL, + 0, 0, 0, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, + NULL) != SWITCH_STATUS_SUCCESS){ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Error Setting Read Codec\n"); + } + switch_core_session_set_read_codec(session, &tech_pvt->m_readcodec); + + if (switch_core_codec_init(&tech_pvt->m_writecodec, + "L16", + NULL, + 0, 0, 0, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, + NULL) != SWITCH_STATUS_SUCCESS){ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Error Setting Write Codec\n"); + } + switch_core_session_set_write_codec(session, &tech_pvt->m_writecodec); + /***Mark incoming call as AnsweredPending ??? */