const gchar *name = NULL;
GstPad *sinkpad = NULL;
gboolean first_track = FALSE;
+ gboolean caps_ret = TRUE;
main_element_id_e elem_idx = MMPLAYER_M_NUM;
mmplayer_track_type_e stream_type = MM_PLAYER_TRACK_TYPE_AUDIO;
LOGD("pad-added signal handling");
/* get mimetype from caps */
- caps = gst_pad_get_current_caps(pad);
- if (caps) {
- str = gst_caps_get_structure(caps, 0);
- if (str)
- name = gst_structure_get_name(str);
- }
- if (!name)
+ MMPLAYER_GST_GET_CAPS_INFO(pad, caps, str, name, caps_ret);
+ if (!caps_ret)
goto ERROR;
MMPLAYER_LOG_GST_CAPS_TYPE(caps);
MMPLAYER_FREEIF(player->type);
player->no_more_pad = FALSE;
player->num_dynamic_pad = 0;
- player->demux_pad_index = 0;
MMPLAYER_SUBTITLE_INFO_LOCK(player);
player->subtitle_language_list = NULL;
player->is_subtitle_off = FALSE; /* set the subtitle ON default */
player->video360_metadata.is_spherical = -1;
player->is_openal_plugin_used = FALSE;
- player->demux_pad_index = 0;
player->subtitle_language_list = NULL;
player->is_subtitle_force_drop = FALSE;
GstCaps *caps, gpointer data)
{
mmplayer_t *player = (mmplayer_t *)data;
- GstPad *pad = NULL;
MMPLAYER_FENTER();
__mmplayer_update_content_type_info(player);
- pad = gst_element_get_static_pad(tf, "src");
- if (!pad) {
- LOGE("fail to get typefind src pad.");
- return;
- }
-
if (!player->pipeline->mainbin[MMPLAYER_M_AUTOPLUG].gst) {
+ GstPad *pad = NULL;
+
+ pad = gst_element_get_static_pad(tf, "src");
+ if (!pad) {
+ LOGE("fail to get typefind src pad.");
+ return;
+ }
+
if (!_mmplayer_gst_create_decoder(player, pad, caps)) {
gboolean async = FALSE;
LOGE("failed to autoplug %s", player->type);
if (async && player->msg_posted == FALSE)
__mmplayer_handle_missed_plugin(player);
}
+ gst_object_unref(GST_OBJECT(pad));
}
-
- gst_object_unref(GST_OBJECT(pad));
MMPLAYER_FLEAVE();
return;
}