docs: def set_resolved_url(self, item=None, subtitles=None):
          '''Takes a url or a listitem to be played. Used in conjunction with a
          playable list item with a path that calls back into your addon.
  
          :param item: A playable list item or url. Pass None to alert XBMC of a
                       failure to resolve the item.
  
                       .. warning:: When using set_resolved_url you should ensure
                                    the initial playable item (which calls back
                                    into your addon) doesn't have a trailing
                                    slash in the URL. Otherwise it won't work
                                    reliably with XBMC's PlayMedia().
          :param subtitles: A URL to a remote subtitles file or a local filename
                            for a subtitles file to be played along with the
                            item.
          '''
          if self._end_of_directory:
              raise Exception('Current XBMC handle has been removed. Either '
                              'set_resolved_url(), end_of_directory(), or '
                              'finish() has already been called.')
          self._end_of_directory = True
  
          succeeded = True
          if item is None:
              # None item indicates the resolve url failed.
              item = {}
              succeeded = False
  
          if isinstance(item, basestring):
              # caller is passing a url instead of an item dict
              item = {'path': item}
  
          item = self._listitemify(item)
          item.set_played(True)
          xbmcplugin.setResolvedUrl(self.handle, succeeded,
                                    item.as_xbmc_listitem())
  
          # call to _add_subtitles must be after setResolvedUrl
          if subtitles:
              self._add_subtitles(subtitles)
          return [item]