Freeswitch-svn
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
May 2008
- 10 participants
- 495 discussions
[commit] r8311 - in freeswitch/trunk/src/mod/endpoints: mod_alsa mod_dingaling mod_portaudio
by Freeswitch SVN 08 May '08
by Freeswitch SVN 08 May '08
08 May '08
Author: anthm
Date: Thu May 8 16:23:48 2008
New Revision: 8311
Modified:
freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
Log:
doh
Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Thu May 8 16:23:48 2008
@@ -728,8 +728,6 @@
/*.read_frame */ channel_read_frame,
/*.write_frame */ channel_write_frame,
/*.kill_channel */ channel_kill_channel,
- /*.waitfor_read */ channel_waitfor_read,
- /*.waitfor_write */ channel_waitfor_write,
/*.send_dtmf */ channel_send_dtmf,
/*.receive_message */ channel_receive_message
};
Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Thu May 8 16:23:48 2008
@@ -1556,8 +1556,6 @@
/*.read_frame */ channel_read_frame,
/*.write_frame */ channel_write_frame,
/*.kill_channel */ channel_kill_channel,
- /*.waitfor_read */ channel_waitfor_read,
- /*.waitfor_write */ channel_waitfor_write,
/*.send_dtmf */ channel_send_dtmf,
/*.receive_message */ channel_receive_message,
/*.receive_event */ channel_receive_event
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 Thu May 8 16:23:48 2008
@@ -624,8 +624,6 @@
/*.read_frame */ channel_read_frame,
/*.write_frame */ channel_write_frame,
/*.kill_channel */ channel_kill_channel,
- /*.waitfor_read */ channel_waitfor_read,
- /*.waitfor_write */ channel_waitfor_write,
/*.send_dtmf */ channel_send_dtmf,
/*.receive_message */ channel_receive_message
};
1
0
Author: anthm
Date: Thu May 8 15:19:47 2008
New Revision: 8310
Modified:
freeswitch/trunk/src/include/switch_core.h
freeswitch/trunk/src/include/switch_core_event_hook.h
freeswitch/trunk/src/include/switch_module_interfaces.h
freeswitch/trunk/src/include/switch_rtp.h
freeswitch/trunk/src/include/switch_types.h
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c
freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c
freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c
freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
freeswitch/trunk/src/switch_core.c
freeswitch/trunk/src/switch_core_event_hook.c
freeswitch/trunk/src/switch_core_io.c
freeswitch/trunk/src/switch_ivr.c
freeswitch/trunk/src/switch_ivr_async.c
freeswitch/trunk/src/switch_ivr_bridge.c
freeswitch/trunk/src/switch_ivr_originate.c
freeswitch/trunk/src/switch_ivr_play_say.c
freeswitch/trunk/src/switch_rtp.c
Log:
spring cleaning, lose some pointless code
Modified: freeswitch/trunk/src/include/switch_core.h
==============================================================================
--- freeswitch/trunk/src/include/switch_core.h (original)
+++ freeswitch/trunk/src/include/switch_core.h Thu May 8 15:19:47 2008
@@ -809,10 +809,10 @@
\param stream_id which logical media channel to use
\return SWITCH_STATUS_SUCCESS a the frame was read
*/
-SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, int timeout, int stream_id);
+SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
-SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, int timeout, int stream_id);
-SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(_In_ switch_core_session_t *session, switch_frame_t *frame, int timeout, int stream_id);
+SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(_In_ switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
/*!
\brief Reset the buffers and resampler on a session
@@ -828,7 +828,7 @@
\param stream_id which logical media channel to use
\return SWITCH_STATUS_SUCCESS a the frame was written
*/
-SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(_In_ switch_core_session_t *session, switch_frame_t *frame, int timeout, int stream_id);
+SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(_In_ switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
SWITCH_DECLARE(switch_status_t) switch_core_session_perform_kill_channel(_In_ switch_core_session_t *session,
@@ -842,24 +842,6 @@
#define switch_core_session_kill_channel(session, sig) switch_core_session_perform_kill_channel(session, __FILE__, __SWITCH_FUNC__, __LINE__, sig)
/*!
- \brief Wait for a session to be ready for input
- \param session session to wait for
- \param timeout number of milliseconds to wait for data
- \param stream_id which logical media channel to use
- \return SWITCH_STATUS_SUCCESS if data is available for read within timeframe specified
-*/
-SWITCH_DECLARE(switch_status_t) switch_core_session_waitfor_read(_In_ switch_core_session_t *session, int timeout, int stream_id);
-
-/*!
- \brief Wait for a session to be ready for output
- \param session session to wait for
- \param timeout number of milliseconds to wait for data
- \param stream_id which logical media channel to use
- \return SWITCH_STATUS_SUCCESS if the session is available for write within timeframe specified
-*/
-SWITCH_DECLARE(switch_status_t) switch_core_session_waitfor_write(_In_ switch_core_session_t *session, int timeout, int stream_id);
-
-/*!
\brief Send DTMF to a session
\param session session to send DTMF to
\param dtmf string to send to the session
Modified: freeswitch/trunk/src/include/switch_core_event_hook.h
==============================================================================
--- freeswitch/trunk/src/include/switch_core_event_hook.h (original)
+++ freeswitch/trunk/src/include/switch_core_event_hook.h Thu May 8 15:19:47 2008
@@ -43,8 +43,6 @@
typedef struct switch_io_event_hook_write_frame switch_io_event_hook_write_frame_t;
typedef struct switch_io_event_hook_video_write_frame switch_io_event_hook_video_write_frame_t;
typedef struct switch_io_event_hook_kill_channel switch_io_event_hook_kill_channel_t;
-typedef struct switch_io_event_hook_waitfor_read switch_io_event_hook_waitfor_read_t;
-typedef struct switch_io_event_hook_waitfor_write switch_io_event_hook_waitfor_write_t;
typedef struct switch_io_event_hook_send_dtmf switch_io_event_hook_send_dtmf_t;
typedef struct switch_io_event_hook_recv_dtmf switch_io_event_hook_recv_dtmf_t;
typedef struct switch_io_event_hook_state_change switch_io_event_hook_state_change_t;
@@ -53,13 +51,11 @@
(switch_core_session_t *, switch_caller_profile_t *, switch_core_session_t *, switch_originate_flag_t);
typedef switch_status_t (*switch_receive_message_hook_t) (switch_core_session_t *, switch_core_session_message_t *);
typedef switch_status_t (*switch_receive_event_hook_t) (switch_core_session_t *, switch_event_t *);
-typedef switch_status_t (*switch_read_frame_hook_t) (switch_core_session_t *, switch_frame_t **, int, switch_io_flag_t, int);
-typedef switch_status_t (*switch_video_read_frame_hook_t) (switch_core_session_t *, switch_frame_t **, int, switch_io_flag_t, int);
-typedef switch_status_t (*switch_write_frame_hook_t) (switch_core_session_t *, switch_frame_t *, int, switch_io_flag_t, int);
-typedef switch_status_t (*switch_video_write_frame_hook_t) (switch_core_session_t *, switch_frame_t *, int, switch_io_flag_t, int);
+typedef switch_status_t (*switch_read_frame_hook_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
+typedef switch_status_t (*switch_video_read_frame_hook_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
+typedef switch_status_t (*switch_write_frame_hook_t) (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int);
+typedef switch_status_t (*switch_video_write_frame_hook_t) (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int);
typedef switch_status_t (*switch_kill_channel_hook_t) (switch_core_session_t *, int);
-typedef switch_status_t (*switch_waitfor_read_hook_t) (switch_core_session_t *, int, int);
-typedef switch_status_t (*switch_waitfor_write_hook_t) (switch_core_session_t *, int, int);
typedef switch_status_t (*switch_send_dtmf_hook_t) (switch_core_session_t *, const switch_dtmf_t *);
typedef switch_status_t (*switch_recv_dtmf_hook_t) (switch_core_session_t *, const switch_dtmf_t *);
typedef switch_status_t (*switch_state_change_hook_t) (switch_core_session_t *);
@@ -120,20 +116,6 @@
struct switch_io_event_hook_kill_channel *next;
};
-/*! \brief Node in which to store custom waitfor read channel callback hooks */
-struct switch_io_event_hook_waitfor_read {
- /*! the waitfor read channel callback hook */
- switch_waitfor_read_hook_t waitfor_read;
- struct switch_io_event_hook_waitfor_read *next;
-};
-
-/*! \brief Node in which to store custom waitfor write channel callback hooks */
-struct switch_io_event_hook_waitfor_write {
- /*! the waitfor write channel callback hook */
- switch_waitfor_write_hook_t waitfor_write;
- struct switch_io_event_hook_waitfor_write *next;
-};
-
/*! \brief Node in which to store custom send dtmf channel callback hooks */
struct switch_io_event_hook_send_dtmf {
/*! the send dtmf channel callback hook */
@@ -179,10 +161,6 @@
switch_io_event_hook_video_write_frame_t *video_write_frame;
/*! a list of kill channel hooks */
switch_io_event_hook_kill_channel_t *kill_channel;
- /*! a list of wait for read hooks */
- switch_io_event_hook_waitfor_read_t *waitfor_read;
- /*! a list of wait for write hooks */
- switch_io_event_hook_waitfor_write_t *waitfor_write;
/*! a list of send dtmf hooks */
switch_io_event_hook_send_dtmf_t *send_dtmf;
/*! a list of recv dtmf hooks */
@@ -244,8 +222,6 @@
NEW_HOOK_DECL_ADD_P(video_read_frame);
NEW_HOOK_DECL_ADD_P(video_write_frame);
NEW_HOOK_DECL_ADD_P(kill_channel);
-NEW_HOOK_DECL_ADD_P(waitfor_read);
-NEW_HOOK_DECL_ADD_P(waitfor_write);
NEW_HOOK_DECL_ADD_P(send_dtmf);
NEW_HOOK_DECL_ADD_P(recv_dtmf);
NEW_HOOK_DECL_ADD_P(resurrect_session);
@@ -259,8 +235,6 @@
NEW_HOOK_DECL_REM_P(video_read_frame);
NEW_HOOK_DECL_REM_P(video_write_frame);
NEW_HOOK_DECL_REM_P(kill_channel);
-NEW_HOOK_DECL_REM_P(waitfor_read);
-NEW_HOOK_DECL_REM_P(waitfor_write);
NEW_HOOK_DECL_REM_P(send_dtmf);
NEW_HOOK_DECL_REM_P(recv_dtmf);
NEW_HOOK_DECL_REM_P(resurrect_session);
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 Thu May 8 15:19:47 2008
@@ -101,17 +101,15 @@
typedef switch_call_cause_t (*switch_io_outgoing_channel_t)
(switch_core_session_t *, switch_caller_profile_t *, switch_core_session_t **, switch_memory_pool_t **, switch_originate_flag_t);
-typedef switch_status_t (*switch_io_read_frame_t) (switch_core_session_t *, switch_frame_t **, int, switch_io_flag_t, int);
-typedef switch_status_t (*switch_io_write_frame_t) (switch_core_session_t *, switch_frame_t *, int, switch_io_flag_t, int);
+typedef switch_status_t (*switch_io_read_frame_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
+typedef switch_status_t (*switch_io_write_frame_t) (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int);
typedef switch_status_t (*switch_io_kill_channel_t) (switch_core_session_t *, int);
-typedef switch_status_t (*switch_io_waitfor_read_t) (switch_core_session_t *, int, int);
-typedef switch_status_t (*switch_io_waitfor_write_t) (switch_core_session_t *, int, int);
typedef switch_status_t (*switch_io_send_dtmf_t) (switch_core_session_t *, const switch_dtmf_t *);
typedef switch_status_t (*switch_io_receive_message_t) (switch_core_session_t *, switch_core_session_message_t *);
typedef switch_status_t (*switch_io_receive_event_t) (switch_core_session_t *, switch_event_t *);
typedef switch_status_t (*switch_io_state_change_t) (switch_core_session_t *);
-typedef switch_status_t (*switch_io_read_video_frame_t) (switch_core_session_t *, switch_frame_t **, int, switch_io_flag_t, int);
-typedef switch_status_t (*switch_io_write_video_frame_t) (switch_core_session_t *, switch_frame_t *, int, switch_io_flag_t, int);
+typedef switch_status_t (*switch_io_read_video_frame_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
+typedef switch_status_t (*switch_io_write_video_frame_t) (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int);
typedef switch_call_cause_t (*switch_io_resurrect_session_t)(switch_core_session_t **, switch_memory_pool_t **, void *);
typedef enum {
@@ -119,8 +117,6 @@
SWITCH_IO_READ_FRAME,
SWITCH_IO_WRITE_FRAME,
SWITCH_IO_KILL_CHANNEL,
- SWITCH_IO_WAITFOR_READ,
- SWITCH_IO_WAITFOR_WRITE,
SWITCH_IO_SEND_DTMF,
SWITCH_IO_RECEIVE_MESSAGE,
SWITCH_IO_RECEIVE_EVENT,
@@ -140,10 +136,6 @@
switch_io_write_frame_t write_frame;
/*! send a kill signal to the session's channel */
switch_io_kill_channel_t kill_channel;
- /*! wait for the session's channel to be ready to read audio */
- switch_io_waitfor_read_t waitfor_read;
- /*! wait for the session's channel to be ready to write audio */
- switch_io_waitfor_write_t waitfor_write;
/*! send a string of DTMF digits to a session's channel */
switch_io_send_dtmf_t send_dtmf;
/*! receive a message from another session */
Modified: freeswitch/trunk/src/include/switch_rtp.h
==============================================================================
--- freeswitch/trunk/src/include/switch_rtp.h (original)
+++ freeswitch/trunk/src/include/switch_rtp.h Thu May 8 15:19:47 2008
@@ -296,7 +296,7 @@
\return the number of bytes read
*/
SWITCH_DECLARE(switch_status_t) switch_rtp_read(switch_rtp_t *rtp_session, void *data, uint32_t * datalen,
- switch_payload_t *payload_type, switch_frame_flag_t *flags);
+ switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags);
/*!
\brief Queue RFC2833 DTMF data into an RTP Session
@@ -332,7 +332,7 @@
\return the number of bytes read
*/
SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read(switch_rtp_t *rtp_session,
- void **data, uint32_t * datalen, switch_payload_t *payload_type, switch_frame_flag_t *flags);
+ void **data, uint32_t * datalen, switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags);
/*!
\brief Read data from a given RTP session without copying
@@ -340,7 +340,7 @@
\param frame a frame to populate with information
\return the number of bytes read
*/
-SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read_frame(switch_rtp_t *rtp_session, switch_frame_t *frame);
+SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read_frame(switch_rtp_t *rtp_session, switch_frame_t *frame, switch_io_flag_t io_flagsm);
/*!
\brief Enable VAD on an RTP Session
Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h (original)
+++ freeswitch/trunk/src/include/switch_types.h Thu May 8 15:19:47 2008
@@ -943,7 +943,8 @@
} switch_file_flag_t;
typedef enum {
- SWITCH_IO_FLAG_NOOP = 0
+ SWITCH_IO_FLAG_NONE = 0,
+ SWITCH_IO_FLAG_NOBLOCK = (1 << 0)
} switch_io_flag_t;
/* make sure this is synced with the EVENT_NAMES array in switch_event.c
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 Thu May 8 15:19:47 2008
@@ -783,7 +783,7 @@
}
if (switch_channel_test_flag(switch_core_session_get_channel(conference->floor_holder->session), CF_VIDEO)) {
- status = switch_core_session_read_video_frame(conference->floor_holder->session, &vid_frame, -1, 0);
+ status = switch_core_session_read_video_frame(conference->floor_holder->session, &vid_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
conference->floor_holder = NULL;
@@ -835,7 +835,7 @@
for (imember = conference->members; imember; imember = imember->next) {
if (switch_channel_test_flag(switch_core_session_get_channel(imember->session), CF_VIDEO)) {
has_vid++;
- switch_core_session_write_video_frame(imember->session, vid_frame, -1, 0);
+ switch_core_session_write_video_frame(imember->session, vid_frame, SWITCH_IO_FLAG_NONE, 0);
}
}
switch_mutex_unlock(conference->member_mutex);
@@ -1497,7 +1497,7 @@
while (switch_test_flag(member, MFLAG_RUNNING) && switch_channel_ready(channel)) {
/* Read a frame. */
- status = switch_core_session_read_frame(member->session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(member->session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
/* end the loop, if appropriate */
if (!SWITCH_READ_ACCEPTABLE(status) || !switch_test_flag(member, MFLAG_RUNNING)) {
@@ -1890,7 +1890,7 @@
switch_change_sln_volume(write_frame.data, write_frame.samples, member->volume_out_level);
}
write_frame.timestamp = timer.samplecount;
- switch_core_session_write_frame(member->session, &write_frame, -1, 0);
+ switch_core_session_write_frame(member->session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
switch_core_timer_next(&timer);
@@ -1933,7 +1933,7 @@
switch_change_sln_volume(write_frame.data, write_frame.samples, member->volume_out_level);
}
write_frame.timestamp = timer.samplecount;
- switch_core_session_write_frame(member->session, &write_frame, -1, 0);
+ switch_core_session_write_frame(member->session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
}
}
@@ -1948,7 +1948,7 @@
write_frame.datalen = bytes;
write_frame.samples = samples;
write_frame.timestamp = timer.samplecount;
- switch_core_session_write_frame(member->session, &write_frame, -1, 0);
+ switch_core_session_write_frame(member->session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
}
}
}
@@ -3961,7 +3961,7 @@
/* generate some space infront of the file to be played */
for (x = 0; x < leadin; x++) {
switch_frame_t *read_frame;
- status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Thu May 8 15:19:47 2008
@@ -1714,11 +1714,11 @@
/* SIP won't let us redir media until the call has been answered #$^#%& so we will proxy any early media until they do */
while (switch_channel_ready(caller_channel) && switch_channel_ready(peer_channel)
&& !switch_channel_test_flag(peer_channel, CF_ANSWERED)) {
- switch_status_t status = switch_core_session_read_frame(peer_session, &read_frame, -1, 0);
+ switch_status_t status = switch_core_session_read_frame(peer_session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
uint8_t bad = 1;
if (SWITCH_READ_ACCEPTABLE(status)
- && switch_core_session_write_frame(session, read_frame, -1, 0) == SWITCH_STATUS_SUCCESS) {
+ && switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0) == SWITCH_STATUS_SUCCESS) {
bad = 0;
}
if (bad) {
Modified: freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c Thu May 8 15:19:47 2008
@@ -130,7 +130,7 @@
while(!ready) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (read_frame && switch_test_flag(read_frame, SFF_CNG)) {
continue;
}
@@ -206,7 +206,7 @@
for(;;) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Thu May 8 15:19:47 2008
@@ -804,7 +804,7 @@
break;
}
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -854,7 +854,7 @@
switch_channel_set_flag(other_channel, CF_BREAK);
while (switch_channel_ready(channel) && switch_channel_ready(other_channel) && switch_channel_test_flag(other_channel, CF_TAGGED)) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
Modified: freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c Thu May 8 15:19:47 2008
@@ -64,7 +64,7 @@
eh->up = 1;
while(switch_channel_ready(channel)) {
- status = switch_core_session_read_video_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -90,7 +90,7 @@
switch_mutex_unlock(eh->mutex);
- switch_core_session_write_video_frame(session, read_frame, -1, 0);
+ switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0);
}
eh->up = 0;
return NULL;
@@ -165,7 +165,7 @@
while(switch_channel_ready(channel)) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -315,7 +315,7 @@
hdr->pt = pt;
}
if (switch_channel_test_flag(channel, CF_VIDEO)) {
- switch_core_session_write_video_frame(session, &vid_frame, -1, 0);
+ switch_core_session_write_video_frame(session, &vid_frame, SWITCH_IO_FLAG_NONE, 0);
}
if (ts && last && last != ts) {
switch_yield(1000);
@@ -328,7 +328,7 @@
if ((write_frame.datalen = read(fd, write_frame.data, bytes)) <= 0) {
break;
}
- switch_core_session_write_frame(session, &write_frame, -1, 0);
+ switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
switch_core_timer_next(&timer);
}
Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Thu May 8 15:19:47 2008
@@ -171,7 +171,6 @@
switch_speech_flag_t flags = SWITCH_SPEECH_FLAG_NONE;
switch_core_thread_session_t thread_session;
uint32_t rate, interval = 20;
- int stream_id = 0;
switch_timer_t timer = { 0 }, *timerp = NULL;
uint32_t last;
char *mydata = NULL;
@@ -292,9 +291,7 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "setup timer success %u bytes per %d ms!\n", (rate / 50) * 2, interval);
/* start a thread to absorb incoming audio */
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- switch_core_service_session(session, &thread_session, stream_id);
- }
+ switch_core_service_session(session, &thread_session, 0);
timerp = &timer;
}
Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Thu May 8 15:19:47 2008
@@ -149,8 +149,8 @@
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
static switch_status_t engage_device(unsigned int samplerate, int codec_ms);
static switch_status_t load_config(void);
@@ -501,27 +501,6 @@
}
-static switch_status_t channel_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- private_t *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t channel_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- private_t *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-
-}
-
static switch_status_t channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
private_t *tech_pvt = NULL;
@@ -534,7 +513,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
switch_channel_t *channel = NULL;
private_t *tech_pvt = NULL;
@@ -652,7 +631,7 @@
return status;
}
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_channel_t *channel = NULL;
private_t *tech_pvt = NULL;
Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Thu May 8 15:19:47 2008
@@ -211,8 +211,8 @@
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
static ldl_status handle_signalling(ldl_handle_t * handle, ldl_session_t * dlsession, ldl_signal_t dl_signal,
@@ -1306,26 +1306,6 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- struct private_object *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- switch_assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t channel_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- struct private_object *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- switch_assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-
-}
static switch_status_t channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
@@ -1340,7 +1320,7 @@
}
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
struct private_object *tech_pvt = NULL;
switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -1381,7 +1361,7 @@
while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) {
tech_pvt->read_frame.flags = SFF_NONE;
- status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame);
+ status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame, flags);
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) {
return SWITCH_STATUS_FALSE;
}
@@ -1438,7 +1418,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
struct private_object *tech_pvt;
switch_channel_t *channel = switch_core_session_get_channel(session);
Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c Thu May 8 15:19:47 2008
@@ -422,8 +422,8 @@
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
@@ -557,20 +557,6 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- assert(switch_core_session_get_private(session));
-
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t channel_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- assert(switch_core_session_get_private(session));
-
- return SWITCH_STATUS_SUCCESS;
-}
-
static switch_status_t channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
private_t *tech_pvt = switch_core_session_get_private(session);
@@ -584,11 +570,9 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
private_t *tech_pvt = switch_core_session_get_private(session);
- switch_time_t started = switch_timestamp_now();
- unsigned int elapsed;
switch_byte_t *data;
switch_assert(tech_pvt != NULL);
@@ -630,12 +614,6 @@
return SWITCH_STATUS_SUCCESS;
}
- if (timeout > -1) {
- elapsed = (unsigned int) ((switch_timestamp_now() - started) / 1000);
- if (elapsed >= (unsigned int) timeout) {
- return SWITCH_STATUS_SUCCESS;
- }
- }
switch_yield(1000);
}
@@ -651,7 +629,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
private_t *tech_pvt = switch_core_session_get_private(session);
switch_assert(tech_pvt != NULL);
@@ -812,8 +790,6 @@
/*.read_frame */ channel_read_frame,
/*.write_frame */ channel_write_frame,
/*.kill_channel */ channel_kill_channel,
- /*.waitfor_read */ channel_waitfor_read,
- /*.waitfor_write */ channel_waitfor_write,
/*.send_dtmf */ channel_send_dtmf,
/*.receive_message*/ channel_receive_message,
/*.receive_event */ channel_receive_event
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 Thu May 8 15:19:47 2008
@@ -146,8 +146,8 @@
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
static switch_status_t engage_device(int samplerate, int codec_ms);
static switch_status_t engage_ring_device(int sample_rate, int channels);
@@ -448,16 +448,6 @@
}
-static switch_status_t channel_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t channel_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- return SWITCH_STATUS_SUCCESS;
-}
-
static switch_status_t channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
private_t *tech_pvt = switch_core_session_get_private(session);
@@ -468,7 +458,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
private_t *tech_pvt = switch_core_session_get_private(session);
int samples = 0;
@@ -566,7 +556,7 @@
return status;
}
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_status_t status = SWITCH_STATUS_FALSE;
private_t *tech_pvt = switch_core_session_get_private(session);
Modified: freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c Thu May 8 15:19:47 2008
@@ -106,8 +106,8 @@
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
@@ -260,27 +260,6 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- private_t *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t channel_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- private_t *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-
-}
-
static switch_status_t channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
private_t *tech_pvt = switch_core_session_get_private(session);
@@ -289,7 +268,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
switch_channel_t *channel = NULL;
private_t *tech_pvt = NULL;
@@ -350,7 +329,7 @@
}
-static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_channel_t *channel = NULL;
private_t *tech_pvt = NULL;
@@ -494,8 +473,6 @@
/*.read_frame */ channel_read_frame,
/*.write_frame */ channel_write_frame,
/*.kill_channel */ channel_kill_channel,
- /*.waitfor_read */ channel_waitfor_read,
- /*.waitfor_write */ channel_waitfor_write,
/*.send_dtmf */ channel_send_dtmf,
/*.receive_message*/ channel_receive_message,
/*.receive_event */ channel_receive_event
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Thu May 8 15:19:47 2008
@@ -55,10 +55,10 @@
static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile, switch_core_session_t **new_session,
switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t sofia_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t sofia_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t sofia_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t sofia_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t sofia_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t sofia_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t sofia_kill_channel(switch_core_session_t *session, int sig);
/* BODY OF THE MODULE */
@@ -407,7 +407,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t sofia_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t sofia_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session);
switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -442,7 +442,7 @@
while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->video_read_frame.datalen == 0) {
tech_pvt->video_read_frame.flags = SFF_NONE;
- status = switch_rtp_zerocopy_read_frame(tech_pvt->video_rtp_session, &tech_pvt->video_read_frame);
+ status = switch_rtp_zerocopy_read_frame(tech_pvt->video_rtp_session, &tech_pvt->video_read_frame, flags);
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) {
if (status == SWITCH_STATUS_TIMEOUT) {
switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_MEDIA_TIMEOUT);
@@ -468,7 +468,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t sofia_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t sofia_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session);
switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -503,7 +503,7 @@
return status;
}
-static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt = switch_core_session_get_private(session);
switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -544,7 +544,7 @@
while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) {
tech_pvt->read_frame.flags = SFF_NONE;
- status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame);
+ status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame, flags);
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) {
if (status == SWITCH_STATUS_TIMEOUT) {
@@ -588,7 +588,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t sofia_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t sofia_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt = switch_core_session_get_private(session);
switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -673,16 +673,6 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t sofia_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t sofia_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- return SWITCH_STATUS_SUCCESS;
-}
-
static switch_status_t sofia_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
private_object_t *tech_pvt;
@@ -1623,8 +1613,6 @@
/*.read_frame */ sofia_read_frame,
/*.write_frame */ sofia_write_frame,
/*.kill_channel */ sofia_kill_channel,
- /*.waitfor_read */ sofia_waitfor_read,
- /*.waitfor_read */ sofia_waitfor_write,
/*.send_dtmf */ sofia_send_dtmf,
/*.receive_message */ sofia_receive_message,
/*.receive_event */ sofia_receive_event,
Modified: freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c Thu May 8 15:19:47 2008
@@ -468,9 +468,9 @@
static switch_status_t wanpipe_on_soft_execute(switch_core_session_t *session);
static switch_call_cause_t wanpipe_outgoing_channel(switch_core_session_t *session, switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t wanpipe_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout,
+static switch_status_t wanpipe_read_frame(switch_core_session_t *session, switch_frame_t **frame,
switch_io_flag_t flags, int stream_id);
-static switch_status_t wanpipe_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout,
+static switch_status_t wanpipe_write_frame(switch_core_session_t *session, switch_frame_t *frame,
switch_io_flag_t flags, int stream_id);
static int on_info(struct sangoma_pri *spri, sangoma_pri_event_t event_type, pri_event *pevent);
static int on_hangup(struct sangoma_pri *spri, sangoma_pri_event_t event_type, pri_event *pevent);
@@ -751,7 +751,7 @@
-static switch_status_t wanpipe_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout,
+static switch_status_t wanpipe_read_frame(switch_core_session_t *session, switch_frame_t **frame,
switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt;
@@ -838,7 +838,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t wanpipe_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout,
+static switch_status_t wanpipe_write_frame(switch_core_session_t *session, switch_frame_t *frame,
switch_io_flag_t flags, int stream_id)
{
private_object_t *tech_pvt;
@@ -993,8 +993,6 @@
/*.read_frame */ wanpipe_read_frame,
/*.write_frame */ wanpipe_write_frame,
/*.kill_channel */ wanpipe_kill_channel,
- /*.waitfor_read */ NULL,
- /*.waitfor_read */ NULL,
/*.send_dtmf*/ wanpipe_send_dtmf,
/*.receive_message*/ wanpipe_receive_message
};
Modified: freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c Thu May 8 15:19:47 2008
@@ -176,8 +176,8 @@
static switch_call_cause_t woomera_outgoing_channel(switch_core_session_t *session,
switch_caller_profile_t *outbound_profile,
switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags);
-static switch_status_t woomera_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
-static switch_status_t woomera_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
+static switch_status_t woomera_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id);
+static switch_status_t woomera_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id);
static switch_status_t woomera_kill_channel(switch_core_session_t *session, int sig);
static void tech_destroy(private_object * tech_pvt);
static void woomera_printf(woomera_profile * profile, switch_socket_t * socket, char *fmt, ...);
@@ -322,28 +322,7 @@
return SWITCH_STATUS_SUCCESS;
}
-static switch_status_t woomera_waitfor_read(switch_core_session_t *session, int ms, int stream_id)
-{
- struct private_object *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- switch_assert(tech_pvt != NULL);
-
- return switch_socket_waitfor(tech_pvt->read_poll, ms) ? SWITCH_STATUS_FALSE : SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t woomera_waitfor_write(switch_core_session_t *session, int ms, int stream_id)
-{
- struct private_object *tech_pvt = NULL;
-
- tech_pvt = switch_core_session_get_private(session);
- switch_assert(tech_pvt != NULL);
-
- return SWITCH_STATUS_SUCCESS;
-// return switch_socket_waitfor(tech_pvt->write_poll, ms);
-}
-
-static switch_status_t woomera_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t woomera_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
struct private_object *tech_pvt = switch_core_session_get_private(session);
switch_frame_t *pframe;
@@ -379,7 +358,7 @@
return SWITCH_STATUS_FALSE;
}
-static switch_status_t woomera_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t woomera_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
struct private_object *tech_pvt = switch_core_session_get_private(session);
switch_size_t len;
@@ -417,8 +396,6 @@
/*.read_frame */ woomera_read_frame,
/*.write_frame */ woomera_write_frame,
/*.kill_channel */ woomera_kill_channel,
- /*.waitfor_read */ woomera_waitfor_read,
- /*.waitfor_write */ woomera_waitfor_write
};
/* Make sure when you have 2 sessions in the same scope that you pass the appropriate one to the routines
Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c Thu May 8 15:19:47 2008
@@ -209,7 +209,6 @@
switch_frame_t write_frame = { 0 };
unsigned char *fdata[1024];
switch_frame_t *read_frame;
- int stream_id;
switch_core_thread_session_t thread_session = { 0 };
switch_channel_t *channel;
@@ -238,9 +237,7 @@
channel = switch_core_session_get_channel(session);
if (tto->timer) {
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- switch_core_service_session(session, &thread_session, stream_id);
- }
+ switch_core_service_session(session, &thread_session, 0);
}
if (loops) {
@@ -275,7 +272,7 @@
} else {
switch_status_t status;
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -287,11 +284,9 @@
}
write_frame.samples = write_frame.datalen / 2;
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Bad Write\n");
- break;
- }
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Bad Write\n");
+ break;
}
}
Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c (original)
+++ freeswitch/trunk/src/switch_core.c Thu May 8 15:19:47 2008
@@ -187,7 +187,7 @@
switch_channel_set_flag(channel, CF_SERVICE);
while (data->running > 0) {
- switch (switch_core_session_read_frame(session, &read_frame, -1, stream_id)) {
+ switch (switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, stream_id)) {
case SWITCH_STATUS_SUCCESS:
case SWITCH_STATUS_TIMEOUT:
case SWITCH_STATUS_BREAK:
Modified: freeswitch/trunk/src/switch_core_event_hook.c
==============================================================================
--- freeswitch/trunk/src/switch_core_event_hook.c (original)
+++ freeswitch/trunk/src/switch_core_event_hook.c Thu May 8 15:19:47 2008
@@ -40,8 +40,6 @@
NEW_HOOK_DECL(video_read_frame)
NEW_HOOK_DECL(video_write_frame)
NEW_HOOK_DECL(kill_channel)
-NEW_HOOK_DECL(waitfor_read)
-NEW_HOOK_DECL(waitfor_write)
NEW_HOOK_DECL(send_dtmf)
NEW_HOOK_DECL(recv_dtmf)
NEW_HOOK_DECL(resurrect_session)
Modified: freeswitch/trunk/src/switch_core_io.c
==============================================================================
--- freeswitch/trunk/src/switch_core_io.c (original)
+++ freeswitch/trunk/src/switch_core_io.c Thu May 8 15:19:47 2008
@@ -35,20 +35,19 @@
#include <switch.h>
#include "private/switch_core_pvt.h"
-SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, int stream_id)
+SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_io_event_hook_video_write_frame_t *ptr;
switch_status_t status = SWITCH_STATUS_FALSE;
- switch_io_flag_t flags = 0;
if (switch_channel_get_state(session->channel) >= CS_HANGUP) {
return SWITCH_STATUS_FALSE;
}
if (session->endpoint_interface->io_routines->write_video_frame) {
- if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, timeout, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) {
- if ((status = ptr->video_write_frame(session, frame, timeout, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = ptr->video_write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -57,7 +56,7 @@
return status;
}
-SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, int stream_id)
+SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
switch_status_t status = SWITCH_STATUS_FALSE;
switch_io_event_hook_video_read_frame_t *ptr;
@@ -68,9 +67,9 @@
if (session->endpoint_interface->io_routines->read_video_frame) {
if ((status =
- session->endpoint_interface->io_routines->read_video_frame(session, frame, timeout, SWITCH_IO_FLAG_NOOP, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ session->endpoint_interface->io_routines->read_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
for (ptr = session->event_hooks.video_read_frame; ptr; ptr = ptr->next) {
- if ((status = ptr->video_read_frame(session, frame, timeout, SWITCH_IO_FLAG_NOOP, stream_id)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = ptr->video_read_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -98,7 +97,7 @@
return status;
}
-SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, int stream_id)
+SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id)
{
switch_io_event_hook_read_frame_t *ptr;
switch_status_t status;
@@ -125,9 +124,9 @@
if (session->endpoint_interface->io_routines->read_frame) {
if ((status =
- session->endpoint_interface->io_routines->read_frame(session, frame, timeout, SWITCH_IO_FLAG_NOOP, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ session->endpoint_interface->io_routines->read_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
for (ptr = session->event_hooks.read_frame; ptr; ptr = ptr->next) {
- if ((status = ptr->read_frame(session, frame, timeout, SWITCH_IO_FLAG_NOOP, stream_id)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = ptr->read_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -469,16 +468,16 @@
return status;
}
-static switch_status_t perform_write(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id)
+static switch_status_t perform_write(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_io_event_hook_write_frame_t *ptr;
switch_status_t status = SWITCH_STATUS_FALSE;
if (session->endpoint_interface->io_routines->write_frame) {
- if ((status = session->endpoint_interface->io_routines->write_frame(session, frame, timeout, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ if ((status = session->endpoint_interface->io_routines->write_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
for (ptr = session->event_hooks.write_frame; ptr; ptr = ptr->next) {
- if ((status = ptr->write_frame(session, frame, timeout, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = ptr->write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -488,13 +487,12 @@
return status;
}
-SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, int stream_id)
+SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
{
switch_status_t status = SWITCH_STATUS_FALSE;
switch_frame_t *enc_frame = NULL, *write_frame = frame;
unsigned int flag = 0, need_codec = 0, perfect = 0, do_bugs = 0, do_write = 0, do_resample = 0, ptime_mismatch = 0;
- switch_io_flag_t io_flag = SWITCH_IO_FLAG_NOOP;
switch_assert(session != NULL);
switch_assert(frame != NULL);
@@ -509,12 +507,12 @@
if (switch_test_flag(frame, SFF_PROXY_PACKET)) {
/* Fast PASS! */
- return perform_write(session, frame, timeout, flag, stream_id);
+ return perform_write(session, frame, flag, stream_id);
}
if (switch_test_flag(frame, SFF_CNG)) {
if (switch_channel_test_flag(session->channel, CF_ACCEPT_CNG)) {
- return perform_write(session, frame, timeout, flag, stream_id);
+ return perform_write(session, frame, flag, stream_id);
}
return SWITCH_STATUS_SUCCESS;
}
@@ -755,7 +753,7 @@
if (flag & SFF_CNG) {
switch_set_flag(write_frame, SFF_CNG);
}
- status = perform_write(session, write_frame, timeout, io_flag, stream_id);
+ status = perform_write(session, write_frame, flags, stream_id);
return status;
} else {
switch_size_t used = switch_buffer_inuse(session->raw_write_buffer);
@@ -861,7 +859,7 @@
switch_set_flag(write_frame, SFF_CNG);
}
- if ((status = perform_write(session, write_frame, timeout, io_flag, stream_id)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = perform_write(session, write_frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -877,7 +875,7 @@
done:
if (do_write) {
- return perform_write(session, frame, timeout, io_flag, stream_id);
+ return perform_write(session, frame, flags, stream_id);
}
return status;
}
@@ -911,40 +909,6 @@
return status;
}
-SWITCH_DECLARE(switch_status_t) switch_core_session_waitfor_read(switch_core_session_t *session, int timeout, int stream_id)
-{
- switch_io_event_hook_waitfor_read_t *ptr;
- switch_status_t status = SWITCH_STATUS_FALSE;
-
- if (session->endpoint_interface->io_routines->waitfor_read) {
- if ((status = session->endpoint_interface->io_routines->waitfor_read(session, timeout, stream_id)) == SWITCH_STATUS_SUCCESS) {
- for (ptr = session->event_hooks.waitfor_read; ptr; ptr = ptr->next) {
- if ((status = ptr->waitfor_read(session, timeout, stream_id)) != SWITCH_STATUS_SUCCESS) {
- break;
- }
- }
- }
- }
- return status;
-}
-
-SWITCH_DECLARE(switch_status_t) switch_core_session_waitfor_write(switch_core_session_t *session, int timeout, int stream_id)
-{
- switch_io_event_hook_waitfor_write_t *ptr;
- switch_status_t status = SWITCH_STATUS_FALSE;
-
- if (session->endpoint_interface->io_routines->waitfor_write) {
- if ((status = session->endpoint_interface->io_routines->waitfor_write(session, timeout, stream_id)) == SWITCH_STATUS_SUCCESS) {
- for (ptr = session->event_hooks.waitfor_write; ptr; ptr = ptr->next) {
- if ((status = ptr->waitfor_write(session, timeout, stream_id)) != SWITCH_STATUS_SUCCESS) {
- break;
- }
- }
- }
- }
- return status;
-}
-
SWITCH_DECLARE(switch_status_t) switch_core_session_recv_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf)
{
switch_io_event_hook_recv_dtmf_t *ptr;
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Thu May 8 15:19:47 2008
@@ -64,7 +64,7 @@
(!switch_channel_test_flag(channel, CF_ANSWERED) && !switch_channel_test_flag(channel, CF_EARLY_MEDIA))) {
switch_yield(1000);
} else {
- status = switch_core_session_read_frame(session, &read_frame, left, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -93,7 +93,7 @@
}
conninfo->write_frame.datalen = (uint32_t)len;
conninfo->write_frame.samples = conninfo->write_frame.datalen / 2;
- switch_core_session_write_frame(conninfo->session, &conninfo->write_frame, -1, conninfo->stream_id);
+ switch_core_session_write_frame(conninfo->session, &conninfo->write_frame, SWITCH_IO_FLAG_NONE, conninfo->stream_id);
}
switch_clear_flag_locked(conninfo, SUF_READY);
@@ -276,7 +276,7 @@
int frame_count = atoi(lead_frames);
while(frame_count > 0) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
goto done;
}
@@ -449,7 +449,7 @@
while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_CONTROLLED)) {
- if ((status = switch_core_session_read_frame(session, &read_frame, -1, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ if ((status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, stream_id)) == SWITCH_STATUS_SUCCESS) {
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -615,7 +615,7 @@
if (switch_channel_test_flag(channel, CF_SERVICE)) {
switch_yield(1000);
} else {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
}
if (!SWITCH_READ_ACCEPTABLE(status)) {
@@ -731,7 +731,7 @@
if (switch_channel_test_flag(channel, CF_SERVICE)) {
switch_yield(1000);
} else {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -843,7 +843,7 @@
switch_core_session_receive_message(session, &msg);
switch_channel_wait_for_flag(channel, CF_REQ_MEDIA, SWITCH_FALSE, 10000);
- switch_core_session_read_frame(session, &read_frame, -1, 0);
+ switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if ((flags & SMF_REBRIDGE)
&& (other_uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE))
@@ -852,7 +852,7 @@
switch_assert(other_channel != NULL);
switch_core_session_receive_message(other_session, &msg);
switch_channel_wait_for_flag(other_channel, CF_REQ_MEDIA, SWITCH_FALSE, 10000);
- switch_core_session_read_frame(other_session, &read_frame, -1, 0);
+ switch_core_session_read_frame(other_session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
switch_channel_clear_state_handler(other_channel, NULL);
switch_core_session_rwunlock(other_session);
}
@@ -1642,7 +1642,7 @@
write_frame.codec = read_codec;
while(switch_channel_ready(channel)) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -1653,7 +1653,7 @@
if ((jb_frame = stfu_n_read_a_frame(jb))) {
write_frame.data = jb_frame->data;
write_frame.datalen = (uint32_t)jb_frame->dlen;
- status = switch_core_session_write_frame(session, &write_frame, -1, 0);
+ status = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
Modified: freeswitch/trunk/src/switch_ivr_async.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_async.c (original)
+++ freeswitch/trunk/src/switch_ivr_async.c Thu May 8 15:19:47 2008
@@ -49,7 +49,7 @@
eh->up = 1;
while(switch_channel_ready(channel)) {
- status = switch_core_session_read_video_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -59,7 +59,7 @@
continue;
}
- switch_core_session_write_video_frame(session, read_frame, -1, 0);
+ switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0);
}
eh->up = 0;
@@ -91,14 +91,14 @@
#endif
while(switch_channel_ready(channel)) {
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
- switch_core_session_write_frame(session, read_frame, -1, 0);
+ switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0);
#ifndef SWITCH_VIDEO_IN_THREADS
- status = switch_core_session_read_video_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -108,7 +108,7 @@
continue;
}
- switch_core_session_write_video_frame(session, read_frame, -1, 0);
+ switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0);
#endif
}
@@ -590,7 +590,7 @@
char *fcommand = NULL;
char db[2] = "";
- status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
goto end;
@@ -676,7 +676,7 @@
while (switch_buffer_inuse(ep->buffer) >= len) {
write_frame.datalen = (uint32_t)switch_buffer_read(ep->buffer, buf, len);
write_frame.samples = write_frame.datalen / 2;
- if ((status = switch_core_session_write_frame(session, &write_frame, 1000, 0)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0)) != SWITCH_STATUS_SUCCESS) {
break;
}
}
Modified: freeswitch/trunk/src/switch_ivr_bridge.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_bridge.c (original)
+++ freeswitch/trunk/src/switch_ivr_bridge.c Thu May 8 15:19:47 2008
@@ -52,13 +52,13 @@
vh->up = 1;
while(switch_channel_ready(channel) && vh->up == 1) {
- status = switch_core_session_read_video_frame(vh->session_a, &read_frame, -1, 0);
+ status = switch_core_session_read_video_frame(vh->session_a, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
- switch_core_session_write_video_frame(vh->session_b, read_frame, -1, 0);
+ switch_core_session_write_video_frame(vh->session_b, read_frame, SWITCH_IO_FLAG_NONE, 0);
}
vh->up = 0;
@@ -164,7 +164,7 @@
if (switch_channel_test_flag(chan_a, CF_SUSPEND)) {
status = SWITCH_STATUS_SUCCESS;
} else {
- status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id);
+ status = switch_core_session_read_frame(session_a, &read_frame, SWITCH_IO_FLAG_NONE, stream_id);
}
if (!SWITCH_READ_ACCEPTABLE(status)) {
@@ -250,18 +250,18 @@
#ifndef SWITCH_VIDEO_IN_THREADS
if (switch_channel_test_flag(chan_a, CF_VIDEO) && switch_channel_test_flag(chan_b, CF_VIDEO)) {
/* read video from 1 channel and write it to the other */
- status = switch_core_session_read_video_frame(session_a, &read_frame, -1, 0);
+ status = switch_core_session_read_video_frame(session_a, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
goto end_of_bridge_loop;
}
- switch_core_session_write_video_frame(session_b, read_frame, -1, 0);
+ switch_core_session_write_video_frame(session_b, read_frame, SWITCH_IO_FLAG_NONE, 0);
}
#endif
/* read audio from 1 channel and write it to the other */
- status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id);
+ status = switch_core_session_read_frame(session_a, &read_frame, SWITCH_IO_FLAG_NONE, stream_id);
if (SWITCH_READ_ACCEPTABLE(status)) {
if (switch_test_flag(read_frame, SFF_CNG)) {
@@ -269,7 +269,7 @@
}
if (status != SWITCH_STATUS_BREAK && !switch_channel_test_flag(chan_a, CF_HOLD)) {
- if (switch_core_session_write_frame(session_b, read_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session_b, read_frame, SWITCH_IO_FLAG_NONE, stream_id) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "write: %s Bad Frame....[%u] Bubye!\n",
switch_channel_get_name(chan_b), read_frame->datalen);
goto end_of_bridge_loop;
Modified: freeswitch/trunk/src/switch_ivr_originate.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_originate.c (original)
+++ freeswitch/trunk/src/switch_ivr_originate.c Thu May 8 15:19:47 2008
@@ -383,7 +383,7 @@
message = NULL;
}
}
- status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -421,7 +421,7 @@
}
}
- if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
break;
}
} else {
@@ -1061,7 +1061,7 @@
if (session && (ringback_data ||
!(switch_channel_test_flag(caller_channel, CF_PROXY_MODE) && switch_channel_test_flag(caller_channel, CF_PROXY_MODE))) &&
(switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
- switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(tstatus)) {
break;
@@ -1100,7 +1100,7 @@
}
}
- if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
break;
}
}
Modified: freeswitch/trunk/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_play_say.c (original)
+++ freeswitch/trunk/src/switch_ivr_play_say.c Thu May 8 15:19:47 2008
@@ -505,7 +505,7 @@
}
}
- status = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
@@ -624,7 +624,7 @@
break;
}
- status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
@@ -643,7 +643,7 @@
write_frame.samples = write_frame.datalen / 2;
- if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
break;
}
}
@@ -674,7 +674,6 @@
switch_codec_t codec;
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
char *codec_name;
- int stream_id = 0;
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_file_handle_t lfh;
switch_codec_t *read_codec = NULL;
@@ -899,9 +898,7 @@
if (timer_name) {
/* start a thread to absorb incoming audio */
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- switch_core_service_session(session, &thread_session, stream_id);
- }
+ switch_core_service_session(session, &thread_session, 0);
}
ilen = samples;
@@ -1080,14 +1077,12 @@
}
#endif
#endif
- stream_id = 0;
-
if (fh->vol) {
switch_change_sln_volume(write_frame.data, write_frame.datalen / 2, fh->vol);
}
fh->offset_pos += write_frame.samples / 2;
- status = switch_core_session_write_frame(session, &write_frame, -1, stream_id);
+ status = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
if (status == SWITCH_STATUS_MORE_DATA) {
status = SWITCH_STATUS_SUCCESS;
@@ -1112,7 +1107,7 @@
switch_yield(10000);
}
- tstatus = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(tstatus)) {
break;
@@ -1338,7 +1333,6 @@
switch_size_t ilen = 0;
switch_frame_t write_frame = { 0 };
int x;
- int stream_id = 0;
int done = 0;
int lead_in_out = 10;
switch_status_t status = SWITCH_STATUS_SUCCESS;
@@ -1420,7 +1414,7 @@
if (timer) {
write_frame.timestamp = timer->samplecount;
}
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
done = 1;
break;
}
@@ -1490,7 +1484,7 @@
}
} else {
switch_frame_t *read_frame;
- switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_HOLD)) {
switch_yield(10000);
@@ -1518,7 +1512,7 @@
if (timer) {
write_frame.timestamp = timer->samplecount;
}
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
done = 1;
break;
}
@@ -1538,7 +1532,7 @@
if (timer) {
write_frame.timestamp = timer->samplecount;
}
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {
done = 1;
break;
}
@@ -1553,7 +1547,7 @@
}
} else { /* time off the channel (if you must) */
switch_frame_t *read_frame;
- switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, -1, 0);
+ switch_status_t tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_HOLD)) {
switch_yield(10000);
@@ -1618,7 +1612,6 @@
switch_codec_t lcodec, *codec;
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
char *codec_name;
- int stream_id = 0;
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_speech_handle_t lsh, *sh;
switch_speech_flag_t flags = SWITCH_SPEECH_FLAG_NONE;
@@ -1721,9 +1714,8 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "setup timer success %u bytes per %d ms!\n", sh->samples * 2, interval);
}
/* start a thread to absorb incoming audio */
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- switch_core_service_session(session, &thread_session, stream_id);
- }
+ switch_core_service_session(session, &thread_session, 0);
+
}
status = switch_ivr_speak_text_handle(session, sh, write_frame.codec, timer_name ? timer : NULL, text, args);
Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c (original)
+++ freeswitch/trunk/src/switch_rtp.c Thu May 8 15:19:47 2008
@@ -1094,7 +1094,7 @@
}
}
-static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_type, switch_frame_flag_t *flags)
+static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags)
{
switch_size_t bytes = 0;
switch_status_t status;
@@ -1142,6 +1142,12 @@
goto end;
}
+ if (!bytes && (io_flags & SWITCH_IO_FLAG_NOBLOCK)) {
+ do_cng = 1;
+ goto cng;
+ }
+
+
if (rtp_session->timer.interval) {
check = (uint8_t) (switch_core_timer_check(&rtp_session->timer, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS);
if (bytes) {
@@ -1508,7 +1514,7 @@
}
SWITCH_DECLARE(switch_status_t) switch_rtp_read(switch_rtp_t *rtp_session, void *data, uint32_t * datalen,
- switch_payload_t *payload_type, switch_frame_flag_t *flags)
+ switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags)
{
int bytes = 0;
@@ -1516,7 +1522,7 @@
return SWITCH_STATUS_FALSE;
}
- bytes = rtp_common_read(rtp_session, payload_type, flags);
+ bytes = rtp_common_read(rtp_session, payload_type, flags, io_flags);
if (bytes < 0) {
*datalen = 0;
@@ -1535,7 +1541,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read_frame(switch_rtp_t *rtp_session, switch_frame_t *frame)
+SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read_frame(switch_rtp_t *rtp_session, switch_frame_t *frame, switch_io_flag_t io_flags)
{
int bytes = 0;
@@ -1543,7 +1549,7 @@
return SWITCH_STATUS_FALSE;
}
- bytes = rtp_common_read(rtp_session, &frame->payload, &frame->flags);
+ bytes = rtp_common_read(rtp_session, &frame->payload, &frame->flags, io_flags);
frame->data = rtp_session->recv_msg.body;
frame->packet = &rtp_session->recv_msg;
@@ -1574,7 +1580,7 @@
}
SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read(switch_rtp_t *rtp_session,
- void **data, uint32_t * datalen, switch_payload_t *payload_type, switch_frame_flag_t *flags)
+ void **data, uint32_t * datalen, switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags)
{
int bytes = 0;
@@ -1582,7 +1588,7 @@
return SWITCH_STATUS_FALSE;
}
- bytes = rtp_common_read(rtp_session, payload_type, flags);
+ bytes = rtp_common_read(rtp_session, payload_type, flags, io_flags);
*data = rtp_session->recv_msg.body;
if (bytes < 0) {
1
0
Author: anthm
Date: Thu May 8 14:50:45 2008
New Revision: 8309
Modified:
freeswitch/trunk/debian/rules
Log:
this is hardcoded now
Modified: freeswitch/trunk/debian/rules
==============================================================================
--- freeswitch/trunk/debian/rules (original)
+++ freeswitch/trunk/debian/rules Thu May 8 14:50:45 2008
@@ -53,10 +53,7 @@
touch modules.conf
echo $(MODULES)
for i in $(MODULES); do echo $$i >> modules.conf; done
- ./configure --prefix=/opt/freeswitch \
- --host=$(DEB_HOST_GNU_TYPE) \
- --build=$(DEB_BUILD_GNU_TYPE) \
- CFLAGS="-D__VIA_HACK__" ${FEATURES}
+ ./configure --prefix=/opt/freeswitch --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES}
configure: bootstrap.sh
AUTOCONF=${AUTOCONF} ./bootstrap.sh
1
0
Author: mikej
Date: Thu May 8 13:32:28 2008
New Revision: 8308
Modified:
freeswitch/trunk/debian/freeswitch-lang-it.install
Log:
typo
Modified: freeswitch/trunk/debian/freeswitch-lang-it.install
==============================================================================
--- freeswitch/trunk/debian/freeswitch-lang-it.install (original)
+++ freeswitch/trunk/debian/freeswitch-lang-it.install Thu May 8 13:32:28 2008
@@ -1 +1 @@
-opt/iteeswitch/mod/mod_say_it.so*
+opt/freeswitch/mod/mod_say_it.so*
1
0
Author: brian
Date: Thu May 8 13:03:54 2008
New Revision: 8307
Added:
freeswitch/trunk/debian/freeswitch-lang-it.install
Log:
add missing
Added: freeswitch/trunk/debian/freeswitch-lang-it.install
==============================================================================
--- (empty file)
+++ freeswitch/trunk/debian/freeswitch-lang-it.install Thu May 8 13:03:54 2008
@@ -0,0 +1 @@
+opt/iteeswitch/mod/mod_say_it.so*
1
0
08 May '08
Author: brian
Date: Thu May 8 12:44:33 2008
New Revision: 8306
Modified:
freeswitch/trunk/debian/changelog
freeswitch/trunk/debian/control
freeswitch/trunk/debian/files
freeswitch/trunk/debian/freeswitch.conffiles
freeswitch/trunk/debian/freeswitch.install
freeswitch/trunk/debian/rules
freeswitch/trunk/scripts/lua/mwi_event.lua
freeswitch/trunk/scripts/perl/mwi_event.pl
Log:
thanks CtRiX
Modified: freeswitch/trunk/debian/changelog
==============================================================================
--- freeswitch/trunk/debian/changelog (original)
+++ freeswitch/trunk/debian/changelog Thu May 8 12:44:33 2008
@@ -1,3 +1,9 @@
+freeswitch (1.0~8303) unstable; urgency=low
+
+ * pacchetto
+
+ -- root <root(a)fs.navynet.it> Tue, 6 May 2008 09:46:26 +0000
+
freeswitch (1.0~rc4-1) unstable; urgency=low
* Add tab completion in cli
Add "inline" dialplan
Modified: freeswitch/trunk/debian/control
==============================================================================
--- freeswitch/trunk/debian/control (original)
+++ freeswitch/trunk/debian/control Thu May 8 12:44:33 2008
@@ -2,7 +2,7 @@
Maintainer: Michal Bielicki <michal.bielicki(a)voiceworks.pl>
Section: net
Priority: extra
-Build-Depends: debhelper (>= 5), automake1.9, autoconf, libtool, unixodbc-dev, libasound2-dev, libcurl3-dev, libssl-dev, ncurses-dev
+Build-Depends: debhelper (>= 5), automake1.9, autoconf, libtool, unixodbc-dev, libasound2-dev, libcurl3-dev|libcurl4-openssl-dev, libssl-dev, ncurses-dev, libogg-dev, libvorbis-dev, libperl-dev, libgdbm-dev, libdb4.4-dev, libgnutls-dev
Standards-Version: 3.7.2
Package: freeswitch
@@ -64,3 +64,9 @@
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: French language files for the FreeSWITCH open source telephony platform
Homepage: http://www.freeswitch.org/
+
+Package: freeswitch-lang-it
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
+Description: Italian language files for the FreeSWITCH open source telephony platform
+Homepage: http://www.freeswitch.org/
Modified: freeswitch/trunk/debian/files
==============================================================================
--- freeswitch/trunk/debian/files (original)
+++ freeswitch/trunk/debian/files Thu May 8 12:44:33 2008
@@ -1,9 +1,49 @@
-freeswitch_1.0~rc4-1_i386.deb net extra
-freeswitch-spidermonkey_1.0~rc4-1_i386.deb net extra
-freeswitch-dev_1.0~rc4-1_i386.deb net extra
-freeswitch-codec-passthru-g7231_1.0~rc4-1_i386.deb net extra
-freeswitch-codec-passthru-amr_1.0~rc4-1_i386.deb net extra
-freeswitch-codec-passthru-g729_1.0~rc4-1_i386.deb net extra
-freeswitch-lang-en_1.0~rc4-1_i386.deb net extra
-freeswitch-lang-de_1.0~rc4-1_i386.deb net extra
-freeswitch-lang-fr_1.0~rc4-1_i386.deb net extra
+freeswitch_1.0~8283_i386.deb net extra
+freeswitch-spidermonkey_1.0~8283_i386.deb net extra
+freeswitch-dev_1.0~8283_i386.deb net extra
+freeswitch-codec-passthru-g7231_1.0~8283_i386.deb net extra
+freeswitch-codec-passthru-amr_1.0~8283_i386.deb net extra
+freeswitch-codec-passthru-g729_1.0~8283_i386.deb net extra
+freeswitch-lang-en_1.0~8283_i386.deb net extra
+freeswitch-lang-de_1.0~8283_i386.deb net extra
+freeswitch-lang-fr_1.0~8283_i386.deb net extra
+freeswitch-lang-it_1.0~8283_i386.deb net extra
+freeswitch_1.0~8289_i386.deb net extra
+freeswitch-spidermonkey_1.0~8289_i386.deb net extra
+freeswitch-dev_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-g7231_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-amr_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-g729_1.0~8289_i386.deb net extra
+freeswitch-lang-en_1.0~8289_i386.deb net extra
+freeswitch-lang-de_1.0~8289_i386.deb net extra
+freeswitch-lang-fr_1.0~8289_i386.deb net extra
+freeswitch-lang-it_1.0~8289_i386.deb net extra
+freeswitch_1.0~8289_i386.deb net extra
+freeswitch-spidermonkey_1.0~8289_i386.deb net extra
+freeswitch-dev_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-g7231_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-amr_1.0~8289_i386.deb net extra
+freeswitch-codec-passthru-g729_1.0~8289_i386.deb net extra
+freeswitch-lang-en_1.0~8289_i386.deb net extra
+freeswitch-lang-de_1.0~8289_i386.deb net extra
+freeswitch-lang-fr_1.0~8289_i386.deb net extra
+freeswitch_1.0~8296_i386.deb net extra
+freeswitch-spidermonkey_1.0~8296_i386.deb net extra
+freeswitch-dev_1.0~8296_i386.deb net extra
+freeswitch-codec-passthru-g7231_1.0~8296_i386.deb net extra
+freeswitch-codec-passthru-amr_1.0~8296_i386.deb net extra
+freeswitch-codec-passthru-g729_1.0~8296_i386.deb net extra
+freeswitch-lang-en_1.0~8296_i386.deb net extra
+freeswitch-lang-de_1.0~8296_i386.deb net extra
+freeswitch-lang-fr_1.0~8296_i386.deb net extra
+freeswitch-lang-it_1.0~8296_i386.deb net extra
+freeswitch_1.0~8303_i386.deb net extra
+freeswitch-spidermonkey_1.0~8303_i386.deb net extra
+freeswitch-dev_1.0~8303_i386.deb net extra
+freeswitch-codec-passthru-g7231_1.0~8303_i386.deb net extra
+freeswitch-codec-passthru-amr_1.0~8303_i386.deb net extra
+freeswitch-codec-passthru-g729_1.0~8303_i386.deb net extra
+freeswitch-lang-en_1.0~8303_i386.deb net extra
+freeswitch-lang-de_1.0~8303_i386.deb net extra
+freeswitch-lang-fr_1.0~8303_i386.deb net extra
+freeswitch-lang-it_1.0~8303_i386.deb net extra
Modified: freeswitch/trunk/debian/freeswitch.conffiles
==============================================================================
--- freeswitch/trunk/debian/freeswitch.conffiles (original)
+++ freeswitch/trunk/debian/freeswitch.conffiles Thu May 8 12:44:33 2008
@@ -4,12 +4,12 @@
/opt/freeswitch/conf/mime.types
/opt/freeswitch/conf/web-vm.tpl
/opt/freeswitch/conf/tetris.ttml
-/opt/freeswitch/conf/sip_profiles/outbound.xml
+/opt/freeswitch/conf/sip_profiles/external.xml
/opt/freeswitch/conf/sip_profiles/nat.xml
/opt/freeswitch/conf/sip_profiles/nat/example.xml
-/opt/freeswitch/conf/sip_profiles/default/example.xml
-/opt/freeswitch/conf/sip_profiles/default.xml
-/opt/freeswitch/conf/sip_profiles/outbound/example.xml
+/opt/freeswitch/conf/sip_profiles/internal/example.xml
+/opt/freeswitch/conf/sip_profiles/internal.xml
+/opt/freeswitch/conf/sip_profiles/external/example.xml
/opt/freeswitch/conf/directory/default/1007.xml
/opt/freeswitch/conf/directory/default/1001.xml
/opt/freeswitch/conf/directory/default/1008.xml
@@ -67,6 +67,7 @@
/opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
/opt/freeswitch/conf/autoload_configs/dialplan_directory.conf.xml
/opt/freeswitch/conf/autoload_configs/console.conf.xml
+/opt/freeswitch/conf/autoload_configs/perl.conf.xml
/opt/freeswitch/conf/jingle_profiles/server.xml
/opt/freeswitch/conf/jingle_profiles/client.xml
/opt/freeswitch/conf/mrcp_profiles/openmrcp-v2.xml
Modified: freeswitch/trunk/debian/freeswitch.install
==============================================================================
--- freeswitch/trunk/debian/freeswitch.install (original)
+++ freeswitch/trunk/debian/freeswitch.install Thu May 8 12:44:33 2008
@@ -2,6 +2,9 @@
opt/freeswitch/bin/freeswitch
opt/freeswitch/bin/scripts/*
opt/freeswitch/lib/libfreeswitch*.so*
+opt/freeswitch/perl/*
+opt/freeswitch/mod/mod_perl*
+opt/freeswitch/mod/mod_shout*
opt/freeswitch/mod/mod_console.so*
opt/freeswitch/mod/mod_expr.so*
opt/freeswitch/mod/mod_rss.so*
@@ -42,12 +45,12 @@
opt/freeswitch/conf/mime.types
opt/freeswitch/conf/web-vm.tpl
opt/freeswitch/conf/tetris.ttml
-opt/freeswitch/conf/sip_profiles/outbound.xml
+opt/freeswitch/conf/sip_profiles/external.xml
opt/freeswitch/conf/sip_profiles/nat.xml
opt/freeswitch/conf/sip_profiles/nat/example.xml
-opt/freeswitch/conf/sip_profiles/default/example.xml
-opt/freeswitch/conf/sip_profiles/default.xml
-opt/freeswitch/conf/sip_profiles/outbound/example.xml
+opt/freeswitch/conf/sip_profiles/internal/example.xml
+opt/freeswitch/conf/sip_profiles/internal.xml
+opt/freeswitch/conf/sip_profiles/external/example.xml
opt/freeswitch/conf/directory/default/1007.xml
opt/freeswitch/conf/directory/default/1001.xml
opt/freeswitch/conf/directory/default/1008.xml
@@ -75,6 +78,7 @@
opt/freeswitch/conf/voicemail.tpl
opt/freeswitch/conf/freeswitch.xml
opt/freeswitch/conf/extensions.conf
+opt/freeswitch/conf/autoload_configs/perl.conf.xml
opt/freeswitch/conf/autoload_configs/ivr.conf.xml
opt/freeswitch/conf/autoload_configs/voicemail.conf.xml
opt/freeswitch/conf/autoload_configs/switch.conf.xml
Modified: freeswitch/trunk/debian/rules
==============================================================================
--- freeswitch/trunk/debian/rules (original)
+++ freeswitch/trunk/debian/rules Thu May 8 12:44:33 2008
@@ -17,12 +17,12 @@
export DOTNET_MODULES=
export ENDPOINTS_MODULES=endpoints/mod_dingaling endpoints/mod_iax endpoints/mod_portaudio endpoints/mod_sofia endpoints/mod_woomera ../../libs/openzap/mod_openzap
export EVENT_HANDLERS_MODULES=event_handlers/mod_event_multicast event_handlers/mod_event_socket
-export FORMATS_MODULES=formats/mod_local_stream formats/mod_native_file formats/mod_sndfile formats/mod_tone_stream
-export LANGUAGES_MODULES=
+export FORMATS_MODULES=formats/mod_local_stream formats/mod_native_file formats/mod_sndfile formats/mod_tone_stream formats/mod_shout
+export LANGUAGES_MODULES=languages/mod_perl
export LOGGERS_MODULES=loggers/mod_console loggers/mod_logfile loggers/mod_syslog
-export SAY_MODULES=say/mod_say_de say/mod_say_en say/mod_say_fr
+export SAY_MODULES=say/mod_say_de say/mod_say_en say/mod_say_fr say/mod_say_it
export TIMERS_MODULES=
-export DISABLED_MODULES=applications/mod_soundtouch directories/mod_ldap languages/mod_java languages/mod_python languages/mod_spidermonkey_skel ast_tts/mod_cepstral asr_tts/mod_lumenvox endpoints/mod_wanpipe event_handlers/mod_event_test event_handlers/mod_radius_cdr event_handlers/mod_zeroconf formats/mod_shout say/mod_say_it say/mod_say_es say/mod_say_nl
+export DISABLED_MODULES=applications/mod_soundtouch directories/mod_ldap languages/mod_java languages/mod_python languages/mod_spidermonkey_skel ast_tts/mod_cepstral asr_tts/mod_lumenvox endpoints/mod_wanpipe event_handlers/mod_event_test event_handlers/mod_radius_cdr event_handlers/mod_zeroconf say/mod_say_es say/mod_say_nl
export XML_INT_MODULES=xml_int/mod_xml_rpc xml_int/mod_xml_curl xml_int/mod_xml_cdr
export MYMODULES=$(PASSTHRU_CODEC_MODULES) $(SPIDERMONKEY_MODULES) $(APPLICATIONS_MODULES) $(ASR_TTS_MODULES) $(CODECS_MODULES) $(DIALPLANS_MODULES) $(DIRECTORIES_MODULES) $(DOTNET_MODULES) $(ENDPOINTS_MODULES) $(EVENT_HANDLERS_MODULES) $(FORMATS_MODULES) $(LANGUAGES_MODULES) $(LOGGERS_MODULES) $(SAY_MODULES) $(TIMERS_MODULES) $(XML_INT_MODULES)
export MODULES=$(MYMODULES)
Modified: freeswitch/trunk/scripts/lua/mwi_event.lua
==============================================================================
--- freeswitch/trunk/scripts/lua/mwi_event.lua (original)
+++ freeswitch/trunk/scripts/lua/mwi_event.lua Thu May 8 12:44:33 2008
@@ -5,4 +5,5 @@
local event = freeswitch.Event("message_waiting");
event:addHeader("MWI-Messages-Waiting", "no");
event:addHeader("MWI-Message-Account", "sip:1000@10.0.1.100");
+-- event:addHeader("Sofia-Profile", "internal");
event:fire();
Modified: freeswitch/trunk/scripts/perl/mwi_event.pl
==============================================================================
--- freeswitch/trunk/scripts/perl/mwi_event.pl (original)
+++ freeswitch/trunk/scripts/perl/mwi_event.pl Thu May 8 12:44:33 2008
@@ -3,6 +3,9 @@
freeswitch::console_log("info", "Perl in da house!!!\n");
$event = new freeswitch::Event("message_waiting");
-$event->add_header("MWI-Messages-Waiting", "yes");
-$event->add_header("MWI-Message-Account", 'sip:1002@10.0.1.100');
+$event->addHeader("MWI-Messages-Waiting", "yes");
+$event->addHeader("MWI-Message-Account", 'sip:1002@10.0.1.100');
+
+#$event->addHeader("Sofia-Profile", 'internal');
+
$event->fire();
1
0
08 May '08
Author: anthm
Date: Thu May 8 12:20:15 2008
New Revision: 8305
Modified:
freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c
freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.c
Log:
ok this has to fix the issue with crappy sound cards 100% soft timer
Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c Thu May 8 12:20:15 2008
@@ -70,7 +70,7 @@
* PaUtil_WriteMemoryBarrier()
*
****************/
-
+#define __VIA_HACK__
#if defined(__VIA_HACK__)
#define NO_BARRIER
#endif
Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.c Thu May 8 12:20:15 2008
@@ -145,36 +145,35 @@
{
long bytesRead = 0;
char *p = (char *) data;
- long avail, readBytes = 0, numBytes = aStream->bytesPerFrame * numFrames;
+ long avail, totalBytes = 0, neededBytes = aStream->bytesPerFrame * numFrames;
- while (numBytes > 0) {
+ for(;;) {
avail = PaUtil_GetRingBufferReadAvailable(&aStream->inFIFO);
-
- if (avail >= numBytes * 10) {
+
+ if (switch_core_timer_check(timer, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) {
+ break;
+ }
+
+ if (avail >= neededBytes * 6) {
PaUtil_FlushRingBuffer(&aStream->inFIFO);
avail = 0;
}
- if (avail >= numBytes * 2) {
- bytesRead = PaUtil_ReadRingBuffer(&aStream->inFIFO, p, numBytes);
- numBytes -= bytesRead;
- readBytes += bytesRead;
+ bytesRead = 0;
+
+ if (totalBytes < neededBytes && avail >= neededBytes) {
+ bytesRead = PaUtil_ReadRingBuffer(&aStream->inFIFO, p, neededBytes);
+ totalBytes += bytesRead;
}
- if (numBytes > 0) {
- if (switch_core_timer_check(timer, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) {
- break;
- }
- switch_yield(1000);
+ if (bytesRead) {
p += bytesRead;
+ } else {
+ switch_yield(1000);
}
}
- if (readBytes) {
- switch_core_timer_sync(timer);
- }
-
- return readBytes / aStream->bytesPerFrame;
+ return totalBytes / aStream->bytesPerFrame;
}
/************************************************************
1
0
Author: anthm
Date: Thu May 8 12:15:49 2008
New Revision: 8304
Modified:
freeswitch/trunk/freeswitch.spec
Log:
this will bite us
Modified: freeswitch/trunk/freeswitch.spec
==============================================================================
--- freeswitch/trunk/freeswitch.spec (original)
+++ freeswitch/trunk/freeswitch.spec Thu May 8 12:15:49 2008
@@ -250,7 +250,6 @@
%postun
%{?run_ldconfig:%run_ldconfig}
-%{__rm} -rf %{prefix}
userdel freeswitch
%clean
1
0
[commit] r8303 - in freeswitch/trunk/src/mod: applications/mod_voicemail endpoints/mod_sofia
by Freeswitch SVN 08 May '08
by Freeswitch SVN 08 May '08
08 May '08
Author: anthm
Date: Thu May 8 12:09:49 2008
New Revision: 8303
Modified:
freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
Log:
test
Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Thu May 8 12:09:49 2008
@@ -2156,7 +2156,7 @@
static void message_query_handler(switch_event_t *event)
{
char *account = switch_event_get_header(event, "message-account");
- int sent = 0;
+ int created = 0;
switch_event_t *new_event = NULL;
if (account) {
@@ -2194,8 +2194,7 @@
switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account);
switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, "MWI-Voice-Message", "%d/%d (%d/%d)",
total_new_messages, total_saved_messages, total_new_urgent_messages, total_saved_urgent_messages);
- switch_event_fire(&new_event);
- sent++;
+ created++;
}
}
}
@@ -2205,13 +2204,26 @@
}
- if (!sent) {
+ if (!created) {
if (switch_event_create(&new_event, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, "MWI-Messages-Waiting", "no");
switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, "MWI-Message-Account", account);
- switch_event_fire(&new_event);
}
}
+
+ if (new_event) {
+ switch_event_header_t *hp;
+
+ for (hp = event->headers; hp; hp = hp->next) {
+ if (!strncasecmp(hp->name, "vm-", 3)) {
+ switch_event_add_header(new_event, SWITCH_STACK_BOTTOM, hp->name + 3, hp->value);
+ }
+ }
+
+ switch_event_fire(&new_event);
+ }
+
+
}
#define VOICEMAIL_SYNTAX "rss [<host> <port> <uri> <user> <domain>]"
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Thu May 8 12:09:49 2008
@@ -188,6 +188,11 @@
return r;
}
+struct mwi_helper {
+ sofia_profile_t *profile;
+ int total;
+};
+
static void actual_sofia_presence_mwi_event_handler(switch_event_t *event)
{
char *account, *dup_account, *yn, *host, *user;
@@ -195,8 +200,9 @@
sofia_profile_t *profile = NULL;
switch_stream_handle_t stream = { 0 };
switch_event_header_t *hp;
- int count = 0;
-
+ struct mwi_helper h = { 0 };
+ char *pname = NULL;
+
switch_assert(event != NULL);
if (!(account = switch_event_get_header(event, "mwi-message-account"))) {
@@ -213,11 +219,31 @@
switch_assert(dup_account != NULL);
sofia_glue_get_user_host(dup_account, &user, &host);
- if (!host || !(profile = sofia_glue_find_profile(host))) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile for host %s\n", switch_str_nil(host));
- return;
+
+ if ((pname = switch_event_get_header(event, "sofia-profile"))) {
+ if ((profile = sofia_glue_find_profile(pname))) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "using profile %s\n", pname);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "no profile %s\n", pname);
+ }
+ }
+
+ if (!profile) {
+ if (!host || !(profile = sofia_glue_find_profile(host))) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile %s\n", switch_str_nil(host));
+ switch_safe_free(dup_account);
+ return;
+ }
}
+ if (profile->domain_name && profile->domain_name != host) {
+ host = profile->domain_name;
+ }
+
+ h.profile = profile;
+ h.total = 0;
+
+
SWITCH_STANDARD_STREAM(stream);
for (hp = event->headers; hp; hp = hp->next) {
@@ -239,19 +265,18 @@
stream.data, user, host);
-
switch_assert (sql != NULL);
sofia_glue_execute_sql_callback(profile,
SWITCH_FALSE,
profile->ireg_mutex,
sql,
sofia_presence_mwi_callback,
- &count);
+ &h);
switch_safe_free(sql);
- if (!count) {
+ if (h.total) {
sql = switch_mprintf("select sip_user,sip_host,contact,'%q' from sip_registrations where sip_user='%q' and sip_host='%q'",
stream.data, user, host);
@@ -263,7 +288,7 @@
profile->ireg_mutex,
sql,
sofia_presence_mwi_callback2,
- profile);
+ &h);
switch_safe_free(sql);
}
@@ -640,6 +665,7 @@
if (!strcasecmp(event_name, "message-summary")) {
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE_QUERY) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Message-Account", "sip:%s@%s", user, host);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", "%s", profile->name);
switch_event_fire(&event);
}
return 0;
@@ -1073,18 +1099,15 @@
char *expires = argv[10];
char *body = argv[13];
char *exp;
- sofia_profile_t *profile = NULL;
+ //sofia_profile_t *profile = NULL;
char *id = NULL;
nua_handle_t *nh;
int expire_sec = atoi(expires);
- int *total = (int *) pArg;
+ //int *total = (int *) pArg;
+ struct mwi_helper *h = (struct mwi_helper *) pArg;
- if (!(profile = sofia_glue_find_profile(sub_to_host))) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile for host %s\n", sub_to_host);
- return 0;
- }
- if (!(nh = nua_handle_by_call_id(profile->nua, call_id))) {
+ if (!(nh = nua_handle_by_call_id(h->profile->nua, call_id))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find handle for %s\n", call_id);
return 0;
}
@@ -1103,8 +1126,7 @@
switch_safe_free(id);
switch_safe_free(exp);
- sofia_glue_release_profile(profile);
- (*total)++;
+ h->total++;
return 0;
}
@@ -1118,25 +1140,20 @@
char *event = "message-summary";
char *contact = argv[2];
char *body = argv[3];
- sofia_profile_t *profile = NULL;
char *id = NULL;
nua_handle_t *nh;
-
+ struct mwi_helper *h = (struct mwi_helper *) pArg;
+
- if (!(profile = sofia_glue_find_profile(sub_to_host))) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile for host %s\n", sub_to_host);
- return 0;
- }
-
id = switch_mprintf("sip:%s@%s", sub_to_user, sub_to_host);
contact = sofia_glue_get_url_from_contact(contact, 0);
- nh = nua_handle(profile->nua, NULL,
+ nh = nua_handle(h->profile->nua, NULL,
NUTAG_URL(contact),
SIPTAG_FROM_STR(id),
SIPTAG_TO_STR(id),
- SIPTAG_CONTACT_STR(profile->url),
+ SIPTAG_CONTACT_STR(h->profile->url),
TAG_END());
nua_notify(nh,
@@ -1145,8 +1162,6 @@
switch_safe_free(id);
- sofia_glue_release_profile(profile);
-
return 0;
}
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Thu May 8 12:09:49 2008
@@ -688,12 +688,14 @@
if (regtype == REG_REGISTER) {
char *new_contact = NULL;
+
if (exptime) {
new_contact = switch_mprintf("%s;expires=%ld", contact_str, (long)exptime);
nua_respond(nh, SIP_200_OK, SIPTAG_CONTACT_STR(new_contact), NUTAG_WITH_THIS(nua), TAG_END());
switch_safe_free(new_contact);
if (switch_event_create(&event, SWITCH_EVENT_MESSAGE_QUERY) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Message-Account", "sip:%s@%s", to_user, to_host);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "VM-Sofia-Profile", "%s", profile->name);
switch_event_fire(&event);
}
} else {
1
0
[commit] r8302 - in freeswitch/trunk/src: . mod/endpoints/mod_alsa mod/endpoints/mod_portaudio mod/formats/mod_local_stream
by Freeswitch SVN 08 May '08
by Freeswitch SVN 08 May '08
08 May '08
Author: anthm
Date: Thu May 8 11:50:28 2008
New Revision: 8302
Modified:
freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c
freeswitch/trunk/src/switch_ivr_async.c
freeswitch/trunk/src/switch_ivr_originate.c
freeswitch/trunk/src/switch_ivr_play_say.c
Log:
use individual pools in open file handles to avoid flooding the pool
Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Thu May 8 11:50:28 2008
@@ -584,7 +584,7 @@
globals.read_codec.implementation->number_of_channels,
globals.read_codec.implementation->actual_samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
- switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) {
+ NULL) != SWITCH_STATUS_SUCCESS) {
switch_core_codec_destroy(&tech_pvt->write_codec);
tech_pvt->hold_file = NULL;
goto cng;
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 Thu May 8 11:50:28 2008
@@ -496,7 +496,7 @@
globals.read_codec.implementation->number_of_channels,
globals.read_codec.implementation->actual_samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
- switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) {
+ NULL) != SWITCH_STATUS_SUCCESS) {
tech_pvt->hold_file = NULL;
goto cng;
}
Modified: freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c
==============================================================================
--- freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c (original)
+++ freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c Thu May 8 11:50:28 2008
@@ -170,7 +170,7 @@
(char *)fname,
source->channels,
source->rate,
- SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, source->pool) != SWITCH_STATUS_SUCCESS) {
+ SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't open %s\n", fname);
switch_yield(1000000);
continue;
Modified: freeswitch/trunk/src/switch_ivr_async.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_async.c (original)
+++ freeswitch/trunk/src/switch_ivr_async.c Thu May 8 11:50:28 2008
@@ -308,7 +308,7 @@
read_codec->implementation->number_of_channels,
read_codec->implementation->actual_samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
- switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ NULL) != SWITCH_STATUS_SUCCESS) {
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
switch_core_session_reset(session, SWITCH_TRUE);
return SWITCH_STATUS_GENERR;
@@ -755,7 +755,7 @@
file,
channels,
read_codec->implementation->actual_samples_per_second,
- SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", file);
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
switch_core_session_reset(session, SWITCH_TRUE);
Modified: freeswitch/trunk/src/switch_ivr_originate.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_originate.c (original)
+++ freeswitch/trunk/src/switch_ivr_originate.c Thu May 8 11:50:28 2008
@@ -341,7 +341,7 @@
read_codec->implementation->number_of_channels,
read_codec->implementation->actual_samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
- switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Playing File\n");
switch_safe_free(tmp_data);
goto done;
@@ -994,7 +994,7 @@
read_codec->implementation->number_of_channels,
read_codec->implementation->actual_samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
- switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Playing File\n");
switch_safe_free(tmp_data);
goto notready;
Modified: freeswitch/trunk/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_play_say.c (original)
+++ freeswitch/trunk/src/switch_ivr_play_say.c Thu May 8 11:50:28 2008
@@ -373,7 +373,7 @@
file,
fh->channels,
read_codec->implementation->actual_samples_per_second,
- SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
switch_core_session_reset(session, SWITCH_TRUE);
return SWITCH_STATUS_GENERR;
@@ -789,7 +789,7 @@
file,
read_codec->implementation->number_of_channels,
read_codec->implementation->actual_samples_per_second,
- SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
switch_core_session_reset(session, SWITCH_TRUE);
status = SWITCH_STATUS_NOTFOUND;
goto end;
1
0