__mmplayer_initialize_gapless_play(mmplayer_t *player)
{
int i;
+ int rm_ret = MM_RESOURCE_MANAGER_ERROR_NONE;
MMPLAYER_FENTER();
player->audio_decoders = NULL;
}
+ /* release video decoder resource */
+ if (player->video_decoder_resource != NULL) {
+ rm_ret = mm_resource_manager_mark_for_release(player->resource_manager,
+ player->video_decoder_resource);
+ if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
+ LOGE("failed to mark the video decoder resource for release, ret(0x%x)", rm_ret);
+ return;
+ }
+ player->video_decoder_resource = NULL;
+ }
+
+ rm_ret = mm_resource_manager_commit(player->resource_manager);
+ if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
+ LOGE("failed to commit of resource, ret(0x%x)", rm_ret);
+ return;
+ }
+
MMPLAYER_FLEAVE();
}
static gboolean
__mmplayer_verify_gapless_play_path(mmplayer_t *player)
{
-#define REPEAT_COUNT_INFINITELY -1
+#define REPEAT_COUNT_INFINITE -1
#define REPEAT_COUNT_MIN 2
+#define ORIGINAL_URI_ONLY 1
MMHandleType attrs = 0;
gint video = 0;
gint count = 0;
gint gapless = 0;
- guint num_of_list = 0;
+ guint num_of_uri = 0;
int profile_tv = -1;
MMPLAYER_FENTER();
/* check repeat count in case of audio */
if (!gapless &&
- (video || (count != REPEAT_COUNT_INFINITELY && count < REPEAT_COUNT_MIN))) {
+ (video || (count != REPEAT_COUNT_INFINITE && count < REPEAT_COUNT_MIN))) {
LOGW("gapless is disabled");
goto ERROR;
}
- num_of_list = g_list_length(player->uri_info.uri_list);
+ num_of_uri = g_list_length(player->uri_info.uri_list);
- LOGD("repeat count = %d, num_of_list = %d", count, num_of_list);
+ LOGD("repeat count = %d, num_of_list = %d", count, num_of_uri);
- if (num_of_list == 0) {
+ if (num_of_uri == ORIGINAL_URI_ONLY) {
/* audio looping path */
if (count >= REPEAT_COUNT_MIN) {
/* decrease play count */
if (mm_attrs_commit_all(attrs))
LOGE("failed to commit attribute");
- } else if (count != REPEAT_COUNT_INFINITELY) {
+ } else if (count != REPEAT_COUNT_INFINITE) {
LOGD("there is no next uri and no repeat");
goto ERROR;
}