ctbrec-5.3.2-experimental/common/src/main/java/ctbrec/sites/showup/ShowupDownload.java

40 lines
1.1 KiB
Java

package ctbrec.sites.showup;
import java.io.File;
import java.io.IOException;
import java.time.Duration;
import java.time.Instant;
import com.iheartradio.m3u8.ParseException;
import com.iheartradio.m3u8.PlaylistException;
import ctbrec.Recording;
import ctbrec.io.HttpClient;
import ctbrec.recorder.PlaylistGenerator;
import ctbrec.recorder.download.hls.HlsDownload;
public class ShowupDownload extends HlsDownload {
public ShowupDownload(HttpClient client) {
super(client);
}
@Override
protected File generatePlaylist(Recording recording) throws IOException, ParseException, PlaylistException {
File recDir = recording.getAbsoluteFile();
if (!config.getSettings().generatePlaylist) {
return null;
}
PlaylistGenerator playlistGenerator = new PlaylistGenerator();
playlistGenerator.addProgressListener(recording::setProgress);
File playlist = playlistGenerator.generate(recDir, "mp4");
recording.setProgress(-1);
return playlist;
}
@Override
public Duration getLength() {
return Duration.between(getStartTime(), Instant.now());
}
}