func (this *DownloaderService) DownloadPlay(downloader_id, file_path string) (sc SeekAbleContent, path string, err error) { log.Println("DownloadPlay: downloader_id -> ", downloader_id, " file_path -> ", file_path) this.RLock() defer this.RUnlock() var downloader = &downloader.Downloader{} var file torrent.File downloader, err = this.df.Get(downloader_id) if err != nil { return } file, err = downloader.GetFileFoPlay(file_path) if err != nil { return } sc, err = NewReader(downloader.Torrent, file) if err != nil { return } return sc, file.DisplayPath(), nil }