diff --git a/xbmc/interfaces/builtins/PlayerBuiltins.cpp b/xbmc/interfaces/builtins/PlayerBuiltins.cpp index fcface1ddb0d2..76b7fc01c1b05 100644 --- a/xbmc/interfaces/builtins/PlayerBuiltins.cpp +++ b/xbmc/interfaces/builtins/PlayerBuiltins.cpp @@ -495,8 +495,11 @@ int PlayOrQueueMedia(const std::vector& params, bool forcePlay) CMediaSettings::GetInstance().SetMediaStartWindowed(true); else if (StringUtils::EqualsNoCase(params[i], "resume")) { - // force the item to resume (if applicable) - if (VIDEO::UTILS::GetItemResumeInformation(item).isResumable) + // Force the item to resume (if applicable). + // If item is provided by a plugin, we don't know if this can be resumed or not at this point, + // that information was lost when the item was turned into a string but we were told to resume + // so we will try to do that. + if (item.IsPlugin() || VIDEO::UTILS::GetItemResumeInformation(item).isResumable) item.SetStartOffset(STARTOFFSET_RESUME); else item.SetStartOffset(0);