40 lines
1.1 KiB
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());
|
|
}
|
|
}
|