if (player->es_player_push_mode)
/* disable the async state transition because there could be no data in the pipeline */
__mmplayer_gst_set_async(player, FALSE, MMPLAYER_SINK_ALL);
+ else if (player->pipeline->textbin)
+ __mmplayer_gst_set_async(player, FALSE, MMPLAYER_TEXT_SINK);
/* set gst state */
ret = _mmplayer_gst_set_state(player, player->pipeline->mainbin[MMPLAYER_M_PIPE].gst, GST_STATE_PAUSED, FALSE, timeout);
- if (player->es_player_push_mode) {
+ if (player->es_player_push_mode)
/* enable the async state transition as default operation */
__mmplayer_gst_set_async(player, TRUE, MMPLAYER_SINK_ALL);
- }
+ else if (player->pipeline->textbin)
+ __mmplayer_gst_set_async(player, TRUE, MMPLAYER_TEXT_SINK);
/* return if set_state has failed */
if (ret != MM_ERROR_NONE) {