]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7500: allow using the video thread externally - e.g. non rtp based video
authorliyang <liyang@126.com>
Thu, 13 Feb 2014 06:56:07 +0000 (14:56 +0800)
committerMichael Jerris <mike@jerris.com>
Thu, 28 May 2015 17:46:42 +0000 (12:46 -0500)
src/include/switch_core_media.h
src/switch_core_media.c

index 808e22fc10b4515a4300f7c27eccf0953e6476ef..6e9f3b282a068471a94f7109facf2c0443752a4e 100644 (file)
@@ -146,6 +146,7 @@ typedef struct switch_core_media_params_s {
        switch_core_media_dtmf_t dtmf_type;
        switch_payload_t cng_pt;
 
+
        /* a core_video_thread will be started automatically
           when uses rtp based media,
           external_video_source should be set to SWITCH_TRUE and
@@ -153,6 +154,7 @@ typedef struct switch_core_media_params_s {
           should be explicitly called to start the video thread
           if uses the media handle for non-rtp based media
        */
+
        switch_bool_t external_video_source;
 
 } switch_core_media_params_t;
@@ -261,7 +263,11 @@ SWITCH_DECLARE(void) switch_core_media_deinit(void);
 SWITCH_DECLARE(void) switch_core_media_set_stats(switch_core_session_t *session);
 SWITCH_DECLARE(void) switch_core_session_wake_video_thread(switch_core_session_t *session);
 SWITCH_DECLARE(void) switch_core_session_clear_crypto(switch_core_session_t *session);
+<<<<<<< HEAD
 SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session);
+=======
+SWITCH_DECLARE(switch_status_t) start_core_video_thread(switch_core_session_t *session);
+>>>>>>> allow using the video thread externally - e.g. non rtp based video
 
 SWITCH_DECLARE(switch_status_t) switch_core_session_get_payload_code(switch_core_session_t *session,
                                                                                                                                         switch_media_type_t type,
index de579663951b9a77cd5b8addab8ab792e3b34e0a..d4e46673be60554d2d2a6a0091eb8cc7c7f01347 100644 (file)
@@ -4541,7 +4541,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi
 }
 
 
-static switch_status_t start_video_thread(switch_core_session_t *session)
+SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session)
 {
        switch_threadattr_t *thd_attr = NULL;
        switch_memory_pool_t *pool = switch_core_session_get_pool(session);
@@ -4576,11 +4576,6 @@ static switch_status_t start_video_thread(switch_core_session_t *session)
        return SWITCH_STATUS_SUCCESS;
 }
 
-SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session)
-{
-       return start_video_thread(session);
-}
-
 //?
 #define RA_PTR_LEN 512
 SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_session_t *session, const char *sdp_str)
@@ -4712,7 +4707,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_
                                                !switch_channel_test_flag(session->channel, CF_WEBRTC)) {
                                                /* Reactivate the NAT buster flag. */
                                                switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ);
-                                               start_video_thread(session);
+                                               switch_core_media_start_video_thread(session);
                                
                                        }
                                        if (switch_media_handle_test_media_flag(smh, SCMF_AUTOFIX_TIMING)) {
@@ -5686,7 +5681,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
                                                                          v_engine->cur_payload_map->remote_sdp_port, v_engine->cur_payload_map->agreed_pt);
 
 
-                                       start_video_thread(session);
+                                       switch_core_media_start_video_thread(session);
                                        switch_rtp_set_default_payload(v_engine->rtp_session, v_engine->cur_payload_map->agreed_pt);
                                }
                        }
@@ -5719,7 +5714,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
                                                !((val = switch_channel_get_variable(session->channel, "disable_rtp_auto_adjust")) && switch_true(val))) {
                                                /* Reactivate the NAT buster flag. */
                                                switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ);
-                                               start_video_thread(session);
+                                               switch_core_media_start_video_thread(session);
                                        }
 
                                }
@@ -5819,7 +5814,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
                                
                                switch_rtp_set_payload_map(v_engine->rtp_session, &v_engine->payload_map);
 
-                               start_video_thread(session);
+                               switch_core_media_start_video_thread(session);
                                switch_channel_set_flag(session->channel, CF_VIDEO);
 
                                if ((ssrc = switch_channel_get_variable(session->channel, "rtp_use_video_ssrc"))) {