Add ms_update_state_from_pend_state() sub-function 08/238208/2
authorSangchul Lee <sc11.lee@samsung.com>
Thu, 9 Jul 2020 09:58:35 +0000 (18:58 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 10 Jul 2020 02:15:15 +0000 (11:15 +0900)
[Version] 0.1.90
[Issue Type] Refactoring

Change-Id: I3a6172805296a9d8512d5c45bcf126b8ffc2e47b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
include/media_streamer_priv.h
packaging/capi-media-streamer.spec
src/media_streamer_gst.c
src/media_streamer_gst_webrtc.c
src/media_streamer_priv.c

index 24085de..9d7fee4 100644 (file)
@@ -168,6 +168,8 @@ int ms_create(media_streamer_s *ms_streamer);
  */
 int ms_set_state(media_streamer_s *ms_streamer, media_streamer_state_e state);
 
+void ms_update_state_from_pend_state(media_streamer_s *ms_streamer);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
index 8e35c3c..d7c9c35 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-streamer
 Summary:    A Media Streamer API
-Version:    0.1.89
+Version:    0.1.90
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index a1b2e9d..8e5c468 100644 (file)
@@ -1998,7 +1998,6 @@ static gboolean __ms_bus_cb(GstBus *bus, GstMessage *message, gpointer userdata)
        GstState gst_state_old = GST_STATE_VOID_PENDING;
        GstState gst_state_new = GST_STATE_VOID_PENDING;
        GstState gst_state_pending = GST_STATE_VOID_PENDING;
-       media_streamer_state_e old_state = MEDIA_STREAMER_STATE_NONE;
 
        ms_streamer = (media_streamer_s *) userdata;
        ms_retvm_if(ms_streamer == NULL, FALSE, "Handle is NULL");
@@ -2050,17 +2049,7 @@ static gboolean __ms_bus_cb(GstBus *bus, GstMessage *message, gpointer userdata)
                        break;
                }
 
-               old_state = ms_streamer->state;
-
-               g_mutex_lock(&ms_streamer->mutex_lock);
-               ms_streamer->state = ms_streamer->pend_state;
-               g_mutex_unlock(&ms_streamer->mutex_lock);
-
-               ms_info("Media streamer state changed [%d] -> [%d]", old_state, ms_streamer->state);
-               if (ms_streamer->state_changed_cb.callback) {
-                       media_streamer_state_changed_cb cb = (media_streamer_state_changed_cb) ms_streamer->state_changed_cb.callback;
-                       cb((media_streamer_h) ms_streamer, old_state, ms_streamer->state, ms_streamer->state_changed_cb.user_data);
-               }
+               ms_update_state_from_pend_state(ms_streamer);
                break;
 
        case GST_MESSAGE_ASYNC_DONE:
index 425dd6e..b0cff84 100644 (file)
 #include "media_streamer_gst_webrtc.h"
 #include "media_streamer_node.h"
 
-static void __ms_webrtcbin_update_ms_state(media_streamer_s *ms_streamer)
-{
-       GstState old_state;
-
-       ms_retm_if(ms_streamer == NULL, "ms_streamer is NULL");
-
-       old_state = ms_streamer->state;
-       ms_streamer->state = ms_streamer->pend_state;
-
-       ms_info("Media streamer state changed to [%d] [%d]", old_state, ms_streamer->state);
-       if (ms_streamer->state_changed_cb.callback) {
-               media_streamer_state_changed_cb cb = (media_streamer_state_changed_cb) ms_streamer->state_changed_cb.callback;
-               cb((media_streamer_h) ms_streamer, old_state, ms_streamer->state, ms_streamer->state_changed_cb.user_data);
-       }
-}
-
 static gchar *__make_ice_candidate_message(guint mlineindex, gchar *candidate)
 {
        JsonObject *ice, *msg;
@@ -403,7 +387,7 @@ void ms_webrtcbin_notify_ice_connection_state_cb(GstElement *webrtcbin, GParamSp
 
        if (ice_connection_state == GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED &&
                        ms_streamer->pend_state == MEDIA_STREAMER_STATE_READY)
-               __ms_webrtcbin_update_ms_state(ms_streamer);
+               ms_update_state_from_pend_state(ms_streamer);
 }
 
 
index cf6ea83..9649608 100644 (file)
@@ -29,6 +29,30 @@ static int __ms_resource_release_cb(mm_resource_manager_h rm,
 static int __ms_acquire_resources(media_streamer_s *ms_streamer);
 static int __ms_release_resources(media_streamer_s *ms_streamer);
 
+void ms_update_state_from_pend_state(media_streamer_s *ms_streamer)
+{
+       GstState old_state;
+
+       ms_retm_if(ms_streamer == NULL, "ms_streamer is NULL");
+
+       g_mutex_lock(&ms_streamer->mutex_lock);
+
+       old_state = ms_streamer->state;
+       ms_streamer->state = ms_streamer->pend_state;
+       ms_info("Media streamer state changed [%d] -> [%d]", old_state, ms_streamer->state);
+
+       g_mutex_unlock(&ms_streamer->mutex_lock);
+
+       if (ms_streamer->state_changed_cb.callback) {
+               ms_debug(">>> state changed callback(%p) START", ms_streamer->state_changed_cb.callback);
+
+               media_streamer_state_changed_cb cb = (media_streamer_state_changed_cb) ms_streamer->state_changed_cb.callback;
+               cb((media_streamer_h) ms_streamer, old_state, ms_streamer->state, ms_streamer->state_changed_cb.user_data);
+
+               ms_debug("<<< state changed callback(%p) END", ms_streamer->state_changed_cb.callback);
+       }
+}
+
 int ms_set_state(media_streamer_s *ms_streamer, media_streamer_state_e state)
 {
        int ret = MEDIA_STREAMER_ERROR_NONE;