From f7dfe71c4ce090378698d8deecda90d6c77bfb2f Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 25 Feb 2014 11:22:11 +0800 Subject: [PATCH] break CF_MEDIA_PAUSE to CF_AUDIO_PAUSE and CF_VIDEO_PAUSE so we can control them separately --- src/include/switch_types.h | 7 ++++++- src/mod/languages/mod_managed/managed/swig.2010.cs | 3 ++- src/mod/languages/mod_managed/managed/swig.cs | 3 ++- src/switch_core_io.c | 8 ++++---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index beb26fc370..8bd1dff30c 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1267,6 +1267,10 @@ CF_EVENT_LOCK - Don't parse events CF_RESET - Tell extension parser to reset CF_ORIGINATING - Channel is originating CF_STOP_BROADCAST - Signal to stop broadcast + +CF_AUDIO_PAUSE - Audio is not ready to read/write +CF_VIDEO_PAUSE - Video is not ready to read/write + */ @@ -1398,7 +1402,8 @@ typedef enum { CF_VIDEO_ECHO, CF_SLA_INTERCEPT, CF_VIDEO_BREAK, - CF_MEDIA_PAUSE, + CF_AUDIO_PAUSE, + CF_VIDEO_PAUSE, CF_BYPASS_MEDIA_AFTER_HOLD, /* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */ /* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */ diff --git a/src/mod/languages/mod_managed/managed/swig.2010.cs b/src/mod/languages/mod_managed/managed/swig.2010.cs index bfe88dc482..04ccdce448 100644 --- a/src/mod/languages/mod_managed/managed/swig.2010.cs +++ b/src/mod/languages/mod_managed/managed/swig.2010.cs @@ -26933,7 +26933,8 @@ public enum switch_channel_flag_t { CF_VIDEO_ECHO, CF_SLA_INTERCEPT, CF_VIDEO_BREAK, - CF_MEDIA_PAUSE, + CF_AUDIO_PAUSE, + CF_VIDEO_PAUSE, CF_BYPASS_MEDIA_AFTER_HOLD, CF_FLAG_MAX } diff --git a/src/mod/languages/mod_managed/managed/swig.cs b/src/mod/languages/mod_managed/managed/swig.cs index ef496f5e37..f164570914 100644 --- a/src/mod/languages/mod_managed/managed/swig.cs +++ b/src/mod/languages/mod_managed/managed/swig.cs @@ -26940,7 +26940,8 @@ public enum switch_channel_flag_t { CF_VIDEO_ECHO, CF_SLA_INTERCEPT, CF_VIDEO_BREAK, - CF_MEDIA_PAUSE, + CF_AUDIO_PAUSE, + CF_VIDEO_PAUSE, CF_BYPASS_MEDIA_AFTER_HOLD, CF_FLAG_MAX } diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 753396868b..c290d9175f 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -46,7 +46,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor return SWITCH_STATUS_FALSE; } - if (switch_channel_test_flag(session->channel, CF_MEDIA_PAUSE)) { + if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { return SWITCH_STATUS_SUCCESS; } @@ -74,7 +74,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core return SWITCH_STATUS_FALSE; } - if (switch_channel_test_flag(session->channel, CF_MEDIA_PAUSE)) { + if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { *frame = &runtime.dummy_cng_frame; switch_yield(20000); return SWITCH_STATUS_SUCCESS; @@ -177,7 +177,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi return SWITCH_STATUS_SUCCESS; } - if (switch_channel_test_flag(session->channel, CF_MEDIA_PAUSE)) { + if (switch_channel_test_flag(session->channel, CF_AUDIO_PAUSE)) { switch_yield(20000); *frame = &runtime.dummy_cng_frame; // switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Media Paused!!!!\n"); @@ -1053,7 +1053,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess } } - if (switch_channel_test_flag(session->channel, CF_MEDIA_PAUSE)) { + if (switch_channel_test_flag(session->channel, CF_AUDIO_PAUSE)) { return SWITCH_STATUS_SUCCESS; }