feat: getTitle concurrntly

This commit is contained in:
HeshamTB 2023-09-22 02:08:35 +03:00
parent 937108dba8
commit 8b9cebe45b

View File

@ -89,16 +89,21 @@ func createDownloadCtx(link string) *DownloadCtx {
func startJob(ctx *DownloadCtx, downloadCtxs chan *DownloadCtx) { func startJob(ctx *DownloadCtx, downloadCtxs chan *DownloadCtx) {
getTitle(ctx) c := make(chan int)
go func(c chan int) {
getTitle(ctx)
if ctx.err != nil { if ctx.err != nil {
downloadCtxs <- ctx downloadCtxs <- ctx
return return
} }
ctx.tracker.UpdateMessage(ctx.title) ctx.tracker.UpdateMessage(ctx.title)
c <- 0
}(c)
ytdlpDownload(ctx, downloadCtxs) ytdlpDownload(ctx, downloadCtxs)
<- c // Ensure to return only after
downloadCtxs <- ctx downloadCtxs <- ctx
} }