player: use ring buffer with file if there is no enough storage + replace deprecated... 23/44723/1
authorHyunil Park <hyunil46.park@samsung.com>
Mon, 27 Jul 2015 06:17:53 +0000 (15:17 +0900)
committerHyunil Park <hyunil46.park@samsung.com>
Mon, 27 Jul 2015 06:17:53 +0000 (15:17 +0900)
Change-Id: I280d7cd6f63389a74358207298c837969773e689
Signed-off-by: Hyunil Park <hyunil46.park@samsung.com>
src/mm_player_priv.c
src/mm_player_streaming.c

index a305e9e..f01b7db 100644 (file)
@@ -11691,7 +11691,7 @@ __mmplayer_try_to_plug(mm_player_t* player, GstPad *pad, const GstCaps *caps) //
                 * has linked. if so, we need to add queue for quality of output. note that
                 * decodebin also has same problem.
                 */
-               klass = gst_element_factory_get_klass( gst_element_get_factory(element) );
+               klass = gst_element_factory_get_metadata (gst_element_get_factory(element), GST_ELEMENT_METADATA_KLASS);
 
                /* add queue if needed */
                if( (g_strrstr(klass, "Demux") || g_strrstr(klass, "Depayloader")
@@ -11797,7 +11797,7 @@ __mmplayer_try_to_plug(mm_player_t* player, GstPad *pad, const GstCaps *caps) //
                if ( skip ) continue;
 
                /* check factory class for filtering */
-               klass = gst_element_factory_get_klass(GST_ELEMENT_FACTORY(factory));
+               klass = gst_element_factory_get_metadata (GST_ELEMENT_FACTORY(factory), GST_ELEMENT_METADATA_KLASS);
 
                /*parsers are not required in case of external feeder*/
                if (g_strrstr(klass, "Codec/Parser") && MMPLAYER_IS_ES_BUFF_SRC(player))
@@ -12910,7 +12910,7 @@ GstCaps *caps, gpointer data)
        const gchar* mime = NULL;
        gchar* caps_str = NULL;
 
-       klass = gst_element_factory_get_klass (gst_element_get_factory(elem));
+       klass = gst_element_factory_get_metadata (gst_element_get_factory(elem), GST_ELEMENT_METADATA_KLASS);
        mime = gst_structure_get_name (gst_caps_get_structure(caps, 0));
        caps_str = gst_caps_to_string(caps);
 
@@ -12986,7 +12986,7 @@ GstCaps* caps, GstElementFactory* factory, gpointer data)
        gint idx = 0;
 
        factory_name = GST_OBJECT_NAME (factory);
-       klass = gst_element_factory_get_klass(factory);
+       klass = gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
        caps_str = gst_caps_to_string(caps);
 
 //     debug_log("found new element [%s] to link for caps [%s]", factory_name, caps_str);
@@ -13233,7 +13233,7 @@ __mmplayer_gst_element_added (GstElement *bin, GstElement *element, gpointer dat
        const gchar* klass = NULL;
        gchar* factory_name = NULL;
 
-       klass = gst_element_factory_get_klass (gst_element_get_factory(element));
+       klass = gst_element_factory_get_metadata (gst_element_get_factory(element), GST_ELEMENT_METADATA_KLASS);
        factory_name = GST_OBJECT_NAME (gst_element_get_factory(element));
 
        debug_log("new elem klass: %s, factory_name: %s, new elem name : %s\n", klass, factory_name, GST_ELEMENT_NAME(element));
@@ -13699,7 +13699,7 @@ const char *padname, const GList *templlist)
                        padname);
 
        factory = gst_element_get_factory(sinkelement);
-       klass = gst_element_factory_get_klass(factory);
+       klass = gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
 
        /* check if player can do start continually */
        MMPLAYER_CHECK_CMD_IF_EXIT(player);
@@ -14212,8 +14212,8 @@ static gboolean __mmplayer_feature_filter(GstPluginFeature *feature, gpointer da
                return FALSE;
 
        /* only parsers, demuxers and decoders */
-       klass = gst_element_factory_get_klass(GST_ELEMENT_FACTORY(feature));
-       //name = gst_element_factory_get_longname(GST_ELEMENT_FACTORY(feature));
+               klass = gst_element_factory_get_metadata (GST_ELEMENT_FACTORY(feature), GST_ELEMENT_METADATA_KLASS);
+           //name = gst_element_factory_get_longname(GST_ELEMENT_FACTORY(feature));
 
        if( g_strrstr(klass, "Demux") == NULL &&
                g_strrstr(klass, "Codec/Decoder") == NULL &&
@@ -15033,7 +15033,7 @@ __gst_transform_gsterror( mm_player_t* player, GstMessage * message, GError* err
        if ( !factory )
                goto INTERNAL_ERROR;
 
-       klass = gst_element_factory_get_klass(factory);
+       klass = gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
        if ( !klass )
                goto INTERNAL_ERROR;
 
@@ -15702,7 +15702,10 @@ int _mmplayer_change_videosink(MMHandleType handle, MMDisplaySurfaceType surface
                        if ( player->pipeline->mainbin &&
                                player->pipeline->mainbin[MMPLAYER_M_DEC1+i].gst )
                        {
-                               klass = gst_element_factory_get_klass( gst_element_get_factory(player->pipeline->mainbin[MMPLAYER_M_DEC1+i].gst) );
+                               GstElementFactory *decfactory;
+                               decfactory = gst_element_get_factory (player->pipeline->mainbin[MMPLAYER_M_DEC1+i].gst);
+
+                               klass = gst_element_factory_get_metadata (decfactory, GST_ELEMENT_METADATA_KLASS);
                                if ((g_strrstr(klass, "Codec/Decoder/Video")))
                                {
                                        if ( !strncmp(cur_videosink_name, "x", 1) && (surface_type == MM_DISPLAY_SURFACE_EVAS) )
index 44f4b03..151ce8b 100755 (executable)
@@ -418,7 +418,7 @@ streaming_set_queue2_queue_type (mm_player_streaming_t* streamer, gboolean use_f
                debug_log("[Queue2] use file ring buffer for buffering.");
 
        g_object_set (G_OBJECT(buffer_handle->buffer), "temp-template", file_buffer_name, NULL);
-       g_object_set (G_OBJECT(buffer_handle->buffer), "file-buffer-max-size", file_buffer_size, NULL);
+       g_object_set (G_OBJECT(buffer_handle->buffer), "ring-buffer-max-size", file_buffer_size, NULL);
 
        MMPLAYER_FLEAVE();
        return;