diff --git a/common/pom.xml b/common/pom.xml index d4314aee..2443f761 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -42,10 +42,6 @@ <groupId>com.iheartradio.m3u8</groupId> <artifactId>open-m3u8</artifactId> </dependency> - <dependency> - <groupId>org.jcodec</groupId> - <artifactId>jcodec</artifactId> - </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> diff --git a/common/src/main/java/ctbrec/MpegUtil.java b/common/src/main/java/ctbrec/MpegUtil.java deleted file mode 100644 index b8a1b959..00000000 --- a/common/src/main/java/ctbrec/MpegUtil.java +++ /dev/null @@ -1,64 +0,0 @@ -package ctbrec; - -import java.io.File; -import java.io.IOException; -import java.nio.channels.ReadableByteChannel; -import java.util.Set; - -import org.jcodec.common.Demuxer; -import org.jcodec.common.DemuxerTrack; -import org.jcodec.common.TrackType; -import org.jcodec.common.Tuple; -import org.jcodec.common.Tuple._2; -import org.jcodec.common.io.FileChannelWrapper; -import org.jcodec.common.io.NIOUtils; -import org.jcodec.common.model.Packet; -import org.jcodec.containers.mps.MPSDemuxer; -import org.jcodec.containers.mps.MTSDemuxer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class MpegUtil { - private static final Logger LOG = LoggerFactory.getLogger(MpegUtil.class); - - private MpegUtil() {} - - public static double getFileDurationInSecs(File file) throws IOException { - try(FileChannelWrapper ch = NIOUtils.readableChannel(file)) { - _2<Integer,Demuxer> m2tsDemuxer = createM2TSDemuxer(ch, TrackType.VIDEO); - Demuxer demuxer = m2tsDemuxer.v1; - DemuxerTrack videoDemux = demuxer.getTracks().get(0); - Packet videoFrame = null; - double totalDuration = 0; - while( (videoFrame = videoDemux.nextFrame()) != null) { - totalDuration += videoFrame.getDurationD(); - } - return totalDuration; - } - } - - public static _2<Integer, Demuxer> createM2TSDemuxer(FileChannelWrapper ch, TrackType targetTrack) throws IOException { - MTSDemuxer mts = new MTSDemuxer(ch); - Set<Integer> programs = mts.getPrograms(); - if (programs.isEmpty()) { - LOG.error("The MPEG TS stream contains no programs"); - return null; - } - Tuple._2<Integer, Demuxer> found = null; - for (Integer pid : programs) { - ReadableByteChannel program = mts.getProgram(pid); - if (found != null) { - program.close(); - continue; - } - MPSDemuxer demuxer = new MPSDemuxer(program); - if (targetTrack == TrackType.AUDIO && !demuxer.getAudioTracks().isEmpty() - || targetTrack == TrackType.VIDEO && !demuxer.getVideoTracks().isEmpty()) { - found = org.jcodec.common.Tuple._2(pid, (Demuxer) demuxer); - } else { - program.close(); - } - } - return found; - } -} diff --git a/common/src/main/java/ctbrec/recorder/postprocessing/CreateContactSheet.java b/common/src/main/java/ctbrec/recorder/postprocessing/CreateContactSheet.java index 3d8549e0..0f2bb23a 100644 --- a/common/src/main/java/ctbrec/recorder/postprocessing/CreateContactSheet.java +++ b/common/src/main/java/ctbrec/recorder/postprocessing/CreateContactSheet.java @@ -12,8 +12,6 @@ import java.text.NumberFormat; import java.util.Arrays; import java.util.Locale; -import javax.annotation.concurrent.ThreadSafe; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,7 +22,6 @@ import ctbrec.io.IoUtils; import ctbrec.recorder.FFmpeg; import ctbrec.recorder.download.ProcessExitedUncleanException; -@ThreadSafe public class CreateContactSheet extends AbstractPlaceholderAwarePostProcessor { private static final Logger LOG = LoggerFactory.getLogger(CreateContactSheet.class); diff --git a/master/pom.xml b/master/pom.xml index 93131f80..d6d65e44 100644 --- a/master/pom.xml +++ b/master/pom.xml @@ -91,11 +91,6 @@ <artifactId>open-m3u8</artifactId> <version>0.2.7-CTBREC</version> </dependency> - <dependency> - <groupId>org.jcodec</groupId> - <artifactId>jcodec</artifactId> - <version>0.2.3</version> - </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId>