return MM_ERROR_NONE;
}
-
static void
__mmplayer_videostream_cb(GstElement *element, void *stream,
int width, int height, gpointer data) // @
return_if_fail ( player );
+ debug_fenter();
+
if (player->video_stream_cb )
{
length = width * height * 4; // for rgb 32bit
player->video_stream_cb(stream, length, player->video_stream_cb_user_param, width, height);
}
+
+ debug_fleave();
}
gboolean
case MM_PLAYER_STATE_PAUSED:
{
+ /* NOTE: It should be worked as asynchronously.
+ * Because, buffering can be completed during autoplugging when pipeline would try to go playing state directly.
+ */
__gst_resume ( player, TRUE );
}
break;
async_done = FALSE;
MMPLAYER_POST_MSG ( player, MM_MESSAGE_SEEK_COMPLETED, NULL );
}
+
+ if ( MMPLAYER_IS_STREAMING(player) ) // managed prepare async case when buffering is completed
+ {
+ // pending state should be reset oyherwise, it's still playing even though it's resumed after bufferging.
+ MMPLAYER_SET_STATE ( player, MM_PLAYER_STATE_PLAYING);
+ }
}
break;