22 lines
423 B
Go

package downloader
import (
"fmt"
"m3u8-downloader/pkg/media"
"sync"
)
func (s *DownloadService) DownloadWorker(id int, segmentChan <-chan media.Segment, wg *sync.WaitGroup) {
defer wg.Done()
for segment := range segmentChan {
fmt.Printf("[Worker %d] Downloading: %s\n", id, segment.URL)
err := s.DownloadFile(segment.URL)
if err != nil {
fmt.Printf("[Worker %d] Error: %s\n", id, err)
return
}
}
}