disconnect all signal handler if failed to change in paused
authorYounghwan Ahn <younghwan_.an@samsung.com>
Wed, 1 May 2013 11:08:15 +0000 (20:08 +0900)
committerYounghwan Ahn <younghwan_.an@samsung.com>
Wed, 1 May 2013 11:08:15 +0000 (20:08 +0900)
Change-Id: I24261df1d58eb5aba37790eb6bb30dc4ef5dd63b

packaging/libmm-player.spec
src/mm_player_priv.c

index 63d12a4e02370a0db814601f7786be2f45607444..50dd46dd83b5e16aa7186ba516e0d1b679d69e02 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.2.19
+Version:    0.2.20
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 4a474bcd9846ca48f22efce5817acc38477b74dc..8659350112449b129d5833ee6819f370d83d3979 100755 (executable)
@@ -478,6 +478,9 @@ __mmplayer_gst_set_state (mm_player_t* player, GstElement * element,  GstState s
 
        if ( ret == GST_STATE_CHANGE_FAILURE || ( state != element_state ) )
        {
+               if (MMPLAYER_CURRENT_STATE(player) == MM_PLAYER_STATE_READY)
+                       __mmplayer_release_signal_connection( player );
+
                debug_error("failed to change [%s] element state to [%s] within %d sec\n",
                        GST_ELEMENT_NAME(element),
                        gst_element_state_get_name(state), timeout );
@@ -9214,7 +9217,7 @@ __mmplayer_dump_pipeline_state( mm_player_t* player )
                                gst_element_get_state(GST_ELEMENT (item),&state, &pending,time);
 
                                factory = gst_element_get_factory (item) ;
-                               if (!factory)
+                               if (factory)
                                {
                                         debug_error("%s:%s : From:%s To:%s   refcount : %d\n", GST_OBJECT_NAME(factory) , GST_ELEMENT_NAME(item) ,
                                                gst_element_state_get_name(state), gst_element_state_get_name(pending) , GST_OBJECT_REFCOUNT_VALUE(item));
@@ -9240,7 +9243,7 @@ __mmplayer_dump_pipeline_state( mm_player_t* player )
 
        factory = gst_element_get_factory (item) ;
 
-       if (!factory)
+       if (factory)
        {
                debug_error("%s:%s : From:%s To:%s  refcount : %d\n",
                        GST_OBJECT_NAME(factory),
@@ -10279,6 +10282,7 @@ __mmplayer_release_signal_connection(mm_player_t* player)
        debug_fenter();
 
        return_if_fail( player );
+       return_if_fail( player->signals );
 
        for ( ; sig_list; sig_list = sig_list->next )
        {