22 lines
423 B
Go
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
|
|
}
|
|
}
|
|
}
|