if (player->track[MM_PLAYER_TRACK_TYPE_VIDEO].total_track_num >= 1)
goto EXIT;
- mm_attrs_get_int_by_name(player->attrs, "display_surface_type", &stype);
-
- /* don't make video because of not required */
- if ((stype == MM_DISPLAY_SURFACE_NULL) &&
- (!player->set_mode.video_export)) {
- LOGD("no need video decoding, skip video stream");
- goto EXIT;
+ // FIXME: it cause block during preparing
+ if ((!MMPLAYER_IS_HTTP_LIVE_STREAMING(player)) && (!MMPLAYER_IS_DASH_STREAMING(player))) {
+ mm_attrs_get_int_by_name(player->attrs, "display_surface_type", &stype);
+
+ /* don't make video because of not required */
+ if ((stype == MM_DISPLAY_SURFACE_NULL) &&
+ (!player->set_mode.video_export)) {
+ LOGD("no need video decoding, skip video stream");
+ goto EXIT;
+ }
}
if (caps_structure) {
gint stype = 0;
gint width = 0;
GstStructure *str = NULL;
- mm_attrs_get_int_by_name(player->attrs, "display_surface_type", &stype);
- /* don't make video because of not required */
- if ((stype == MM_DISPLAY_SURFACE_NULL) &&
- (!player->set_mode.video_export)) {
- LOGD("no need video decoding, expose pad");
- result = GST_AUTOPLUG_SELECT_EXPOSE;
- goto DONE;
+ /* parsebin in adaptivedemux get error if there is no parser */
+ if ((!g_strrstr(GST_ELEMENT_NAME(bin), "parsebin")) ||
+ ((!MMPLAYER_IS_HTTP_LIVE_STREAMING(player)) && (!MMPLAYER_IS_DASH_STREAMING(player)))) {
+ mm_attrs_get_int_by_name(player->attrs, "display_surface_type", &stype);
+
+ /* don't make video because of not required */
+ if ((stype == MM_DISPLAY_SURFACE_NULL) &&
+ (!player->set_mode.video_export)) {
+ LOGD("no need video decoding, expose pad");
+ result = GST_AUTOPLUG_SELECT_EXPOSE;
+ goto DONE;
+ }
}
/* get w/h for omx state-tune */