diff --git a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioWaveFormGenerator.java b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioWaveFormGenerator.java index 873336e6ae..2d55621400 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioWaveFormGenerator.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioWaveFormGenerator.java @@ -12,7 +12,7 @@ import androidx.annotation.WorkerThread; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.media.DecryptableUriMediaInput; -import org.thoughtcrime.securesms.video.videoconverter.MediaInput; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentCompressionJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentCompressionJob.java index b9c49357e4..5da1398c4e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentCompressionJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentCompressionJob.java @@ -40,11 +40,11 @@ import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.MemoryFileDescriptor.MemoryFileException; import org.thoughtcrime.securesms.video.InMemoryTranscoder; import org.thoughtcrime.securesms.video.StreamingTranscoder; -import org.thoughtcrime.securesms.video.TranscoderCancelationSignal; +import org.thoughtcrime.securesms.video.interfaces.TranscoderCancelationSignal; import org.thoughtcrime.securesms.video.TranscoderOptions; import org.thoughtcrime.securesms.video.exceptions.VideoSourceException; import org.thoughtcrime.securesms.video.postprocessing.Mp4FaststartPostProcessor; -import org.thoughtcrime.securesms.video.videoconverter.EncodingException; +import org.thoughtcrime.securesms.video.videoconverter.exceptions.EncodingException; import java.io.ByteArrayInputStream; import java.io.File; diff --git a/app/src/main/java/org/thoughtcrime/securesms/media/DecryptableUriMediaInput.kt b/app/src/main/java/org/thoughtcrime/securesms/media/DecryptableUriMediaInput.kt index 094a068e9e..2e5f66503c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/media/DecryptableUriMediaInput.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/media/DecryptableUriMediaInput.kt @@ -7,7 +7,7 @@ import org.thoughtcrime.securesms.database.SignalDatabase.Companion.attachments import org.thoughtcrime.securesms.mms.PartAuthority import org.thoughtcrime.securesms.mms.PartUriParser import org.thoughtcrime.securesms.providers.BlobProvider -import org.thoughtcrime.securesms.video.videoconverter.MediaInput +import org.thoughtcrime.securesms.video.interfaces.MediaInput import org.thoughtcrime.securesms.video.videoconverter.mediadatasource.MediaDataSourceMediaInput import java.io.IOException diff --git a/app/src/main/java/org/thoughtcrime/securesms/media/FileMediaInput.kt b/app/src/main/java/org/thoughtcrime/securesms/media/FileMediaInput.kt index 94b12b61e8..a35039c808 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/media/FileMediaInput.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/media/FileMediaInput.kt @@ -5,7 +5,7 @@ package org.thoughtcrime.securesms.media import android.media.MediaExtractor -import org.thoughtcrime.securesms.video.videoconverter.MediaInput +import org.thoughtcrime.securesms.video.interfaces.MediaInput import java.io.File import java.io.IOException diff --git a/app/src/main/java/org/thoughtcrime/securesms/media/UriMediaInput.kt b/app/src/main/java/org/thoughtcrime/securesms/media/UriMediaInput.kt index ad7332670a..83c01decf4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/media/UriMediaInput.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/media/UriMediaInput.kt @@ -7,7 +7,7 @@ package org.thoughtcrime.securesms.media import android.content.Context import android.media.MediaExtractor import android.net.Uri -import org.thoughtcrime.securesms.video.videoconverter.MediaInput +import org.thoughtcrime.securesms.video.interfaces.MediaInput import java.io.IOException /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureRepository.kt index 117eeed0aa..0288ff9d66 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureRepository.kt @@ -15,7 +15,7 @@ import org.thoughtcrime.securesms.mediasend.MediaRepository import org.thoughtcrime.securesms.providers.BlobProvider import org.thoughtcrime.securesms.util.MediaUtil import org.thoughtcrime.securesms.util.StorageUtil -import org.thoughtcrime.securesms.video.videoconverter.VideoConstants +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants import java.io.FileDescriptor import java.io.FileInputStream import java.io.IOException diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/InMemoryTranscoder.java b/app/src/main/java/org/thoughtcrime/securesms/video/InMemoryTranscoder.java index 69d48f4e26..dbb2226eac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/InMemoryTranscoder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/InMemoryTranscoder.java @@ -10,16 +10,14 @@ import androidx.annotation.RequiresApi; import androidx.media3.common.MimeTypes; import org.signal.core.util.logging.Log; -import org.signal.libsignal.media.Mp4Sanitizer; -import org.signal.libsignal.media.ParseException; -import org.signal.libsignal.media.SanitizedMetadata; import org.thoughtcrime.securesms.mms.MediaStream; import org.thoughtcrime.securesms.util.MemoryFileDescriptor; import org.thoughtcrime.securesms.video.exceptions.VideoPostProcessingException; import org.thoughtcrime.securesms.video.exceptions.VideoSizeException; import org.thoughtcrime.securesms.video.exceptions.VideoSourceException; +import org.thoughtcrime.securesms.video.interfaces.TranscoderCancelationSignal; import org.thoughtcrime.securesms.video.postprocessing.Mp4FaststartPostProcessor; -import org.thoughtcrime.securesms.video.videoconverter.EncodingException; +import org.thoughtcrime.securesms.video.videoconverter.exceptions.EncodingException; import org.thoughtcrime.securesms.video.videoconverter.MediaConverter; import org.thoughtcrime.securesms.video.videoconverter.mediadatasource.MediaDataSourceMediaInput; diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java b/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java index b98c9e1d13..ed8f53f160 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java @@ -2,15 +2,13 @@ package org.thoughtcrime.securesms.video; import android.content.Context; import android.content.res.Resources; -import android.media.MediaFormat; import android.util.DisplayMetrics; import android.util.Size; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.mms.MediaConstraints; -import org.thoughtcrime.securesms.util.MediaUtil; -import org.thoughtcrime.securesms.video.videoconverter.VideoConstants; +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsView.java b/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsView.java index a646512b0d..2e5fe1a1d1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsView.java @@ -15,6 +15,7 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; import java.io.IOException; import java.lang.ref.WeakReference; @@ -27,8 +28,8 @@ public class VideoThumbnailsView extends View { private static final String TAG = Log.tag(VideoThumbnailsView.class); - private MediaInput input; - private volatile ArrayList thumbnails; + private MediaInput input; + private volatile ArrayList thumbnails; private AsyncTask thumbnailsTask; private OnDurationListener durationListener; diff --git a/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt b/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt index 78a69db664..516b1947e5 100644 --- a/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt +++ b/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt @@ -25,8 +25,8 @@ import org.signal.core.util.getLength import org.signal.core.util.readLength import org.thoughtcrime.securesms.video.StreamingTranscoder import org.thoughtcrime.securesms.video.postprocessing.Mp4FaststartPostProcessor -import org.thoughtcrime.securesms.video.videoconverter.VideoConstants import org.thoughtcrime.securesms.video.videoconverter.mediadatasource.InputStreamMediaDataSource +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants import org.thoughtcrime.video.app.R import java.io.IOException import java.io.InputStream diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/StreamingTranscoder.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/StreamingTranscoder.java index f99ccaac91..0b55fac652 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/StreamingTranscoder.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/StreamingTranscoder.java @@ -10,9 +10,10 @@ import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.video.exceptions.VideoSizeException; import org.thoughtcrime.securesms.video.exceptions.VideoSourceException; -import org.thoughtcrime.securesms.video.videoconverter.EncodingException; +import org.thoughtcrime.securesms.video.interfaces.TranscoderCancelationSignal; +import org.thoughtcrime.securesms.video.videoconverter.exceptions.EncodingException; import org.thoughtcrime.securesms.video.videoconverter.MediaConverter; -import org.thoughtcrime.securesms.video.videoconverter.VideoConstants; +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants; import org.thoughtcrime.securesms.video.videoconverter.mediadatasource.MediaDataSourceMediaInput; import java.io.FilterOutputStream; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/VideoBitRateCalculator.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/VideoBitRateCalculator.java index 4045c8af04..016696982a 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/VideoBitRateCalculator.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/VideoBitRateCalculator.java @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.video; -import org.thoughtcrime.securesms.video.videoconverter.VideoConstants; +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants; /** * Calculates a target quality output for a video to fit within a specified size. diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaInput.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/MediaInput.kt similarity index 86% rename from video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaInput.kt rename to video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/MediaInput.kt index 1cd0cc4ada..a961eb52c2 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaInput.kt +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/MediaInput.kt @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -package org.thoughtcrime.securesms.video.videoconverter +package org.thoughtcrime.securesms.video.interfaces import android.media.MediaExtractor import java.io.Closeable diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Muxer.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/Muxer.java similarity index 77% rename from video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Muxer.java rename to video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/Muxer.java index 28c05f338f..a88f4054b7 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Muxer.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/Muxer.java @@ -1,22 +1,27 @@ -package org.thoughtcrime.securesms.video.videoconverter; - -import android.media.MediaCodec; -import android.media.MediaFormat; - -import androidx.annotation.NonNull; - -import java.io.IOException; -import java.nio.ByteBuffer; - -public interface Muxer { - - void start() throws IOException; - - void stop() throws IOException; - - int addTrack(@NonNull MediaFormat format) throws IOException; - - void writeSampleData(int trackIndex, @NonNull ByteBuffer byteBuf, @NonNull MediaCodec.BufferInfo bufferInfo) throws IOException; - - void release(); -} +/* + * Copyright 2024 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.thoughtcrime.securesms.video.interfaces; + +import android.media.MediaCodec; +import android.media.MediaFormat; + +import androidx.annotation.NonNull; + +import java.io.IOException; +import java.nio.ByteBuffer; + +public interface Muxer { + + void start() throws IOException; + + void stop() throws IOException; + + int addTrack(@NonNull MediaFormat format) throws IOException; + + void writeSampleData(int trackIndex, @NonNull ByteBuffer byteBuf, @NonNull MediaCodec.BufferInfo bufferInfo) throws IOException; + + void release(); +} diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/TranscoderCancelationSignal.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/TranscoderCancelationSignal.kt similarity index 59% rename from video/lib/src/main/java/org/thoughtcrime/securesms/video/TranscoderCancelationSignal.kt rename to video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/TranscoderCancelationSignal.kt index 96bdd3c5d9..855d836da3 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/TranscoderCancelationSignal.kt +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/interfaces/TranscoderCancelationSignal.kt @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.video +package org.thoughtcrime.securesms.video.interfaces fun interface TranscoderCancelationSignal { fun isCanceled(): Boolean diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AndroidMuxer.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AndroidMuxer.java index 9b61f2235d..d44ae864c7 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AndroidMuxer.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AndroidMuxer.java @@ -7,6 +7,8 @@ import android.media.MediaMuxer; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; +import org.thoughtcrime.securesms.video.interfaces.Muxer; + import java.io.File; import java.io.FileDescriptor; import java.io.IOException; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AudioTrackConverter.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AudioTrackConverter.java index 38b97a4fe8..8d938ae906 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AudioTrackConverter.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/AudioTrackConverter.java @@ -9,6 +9,10 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; +import org.thoughtcrime.securesms.video.interfaces.Muxer; +import org.thoughtcrime.securesms.video.videoconverter.utils.Preconditions; +import org.thoughtcrime.securesms.video.videoconverter.utils.VideoConstants; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/EncodingException.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/EncodingException.java deleted file mode 100644 index 5a3011796a..0000000000 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/EncodingException.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.thoughtcrime.securesms.video.videoconverter; - -public final class EncodingException extends Exception { - EncodingException(String message) { - super(message); - } - - EncodingException(String message, Exception inner) { - super(message, inner); - } -} diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaConverter.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaConverter.java index 861ec2e6df..628d946fed 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaConverter.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/MediaConverter.java @@ -29,6 +29,9 @@ import androidx.annotation.StringDef; import androidx.annotation.WorkerThread; import org.signal.core.util.logging.Log; +import org.thoughtcrime.securesms.video.videoconverter.exceptions.EncodingException; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; +import org.thoughtcrime.securesms.video.interfaces.Muxer; import org.thoughtcrime.securesms.video.videoconverter.muxer.StreamingMuxer; import java.io.File; @@ -52,7 +55,7 @@ public final class MediaConverter { public static final String VIDEO_CODEC_H265 = "video/hevc"; private MediaInput mInput; - private Output mOutput; + private Output mOutput; private long mTimeFrom; private long mTimeTo; @@ -132,8 +135,8 @@ public final class MediaConverter { @RequiresApi(23) public void convert() throws EncodingException, IOException { // Exception that may be thrown during release. - Exception exception = null; - Muxer muxer = null; + Exception exception = null; + Muxer muxer = null; VideoTrackConverter videoTrackConverter = null; AudioTrackConverter audioTrackConverter = null; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Preconditions.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Preconditions.java deleted file mode 100644 index 94feb8ea97..0000000000 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/Preconditions.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.thoughtcrime.securesms.video.videoconverter; - -public final class Preconditions { - - private Preconditions() {} - - public static void checkState(final String errorMessage, final boolean expression) { - if (!expression) { - throw new IllegalStateException(errorMessage); - } - } -} diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java index c9a458c142..55478e909f 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java @@ -10,6 +10,7 @@ import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoTrackConverter.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoTrackConverter.java index 88374a191a..a00bd8ae68 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoTrackConverter.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoTrackConverter.java @@ -11,6 +11,9 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; +import org.thoughtcrime.securesms.video.interfaces.MediaInput; +import org.thoughtcrime.securesms.video.interfaces.Muxer; +import org.thoughtcrime.securesms.video.videoconverter.utils.Preconditions; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/exceptions/EncodingException.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/exceptions/EncodingException.kt new file mode 100644 index 0000000000..91ba42096d --- /dev/null +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/exceptions/EncodingException.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2024 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ +package org.thoughtcrime.securesms.video.videoconverter.exceptions + +class EncodingException : Exception { + constructor(message: String?) : super(message) + constructor(message: String?, inner: Exception?) : super(message, inner) +} diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/mediadatasource/MediaDataSourceMediaInput.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/mediadatasource/MediaDataSourceMediaInput.kt index 3a72fd58bc..74f42a57fc 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/mediadatasource/MediaDataSourceMediaInput.kt +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/mediadatasource/MediaDataSourceMediaInput.kt @@ -8,7 +8,7 @@ package org.thoughtcrime.securesms.video.videoconverter.mediadatasource import android.media.MediaDataSource import android.media.MediaExtractor import androidx.annotation.RequiresApi -import org.thoughtcrime.securesms.video.videoconverter.MediaInput +import org.thoughtcrime.securesms.video.interfaces.MediaInput import java.io.IOException /** diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/muxer/StreamingMuxer.java b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/muxer/StreamingMuxer.java index 1dc7d22b0a..3ad40595d2 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/muxer/StreamingMuxer.java +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/muxer/StreamingMuxer.java @@ -6,7 +6,7 @@ import android.media.MediaFormat; import androidx.annotation.NonNull; import org.mp4parser.streaming.StreamingTrack; -import org.thoughtcrime.securesms.video.videoconverter.Muxer; +import org.thoughtcrime.securesms.video.interfaces.Muxer; import java.io.IOException; import java.io.OutputStream; diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/Preconditions.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/Preconditions.kt new file mode 100644 index 0000000000..5e3ebd4b05 --- /dev/null +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/Preconditions.kt @@ -0,0 +1,8 @@ +package org.thoughtcrime.securesms.video.videoconverter.utils + +object Preconditions { + @JvmStatic + fun checkState(errorMessage: String, expression: Boolean) { + check(expression) { errorMessage } + } +} diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoConstants.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/VideoConstants.kt similarity index 91% rename from video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoConstants.kt rename to video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/VideoConstants.kt index ce40041b5a..3a7f8ba010 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoConstants.kt +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/VideoConstants.kt @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -package org.thoughtcrime.securesms.video.videoconverter +package org.thoughtcrime.securesms.video.videoconverter.utils import android.media.MediaFormat object VideoConstants {