Skip to content

Commit 0a415ba

Browse files
authored
Allow SpeedTimeInterpolator reuse (#199)
* Allow SpeedTimeInterpolator reuse * Minor fixes
1 parent 4ea35f4 commit 0a415ba

File tree

7 files changed

+18
-28
lines changed

7 files changed

+18
-28
lines changed

.idea/.gitignore

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/deploymentTargetDropDown.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

lib/src/androidTest/java/com/otaliastudios/transcoder/integration/IssuesTests.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,21 @@ class IssuesTests {
6969
transcode {
7070
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
7171
addDataSource(input("0.amr"))
72-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
72+
addDataSource(ClipDataSource(input("main.mp3"), 2000_000L, 3000_000L))
7373
addDataSource(input("1.amr"))
74-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
74+
addDataSource(ClipDataSource(input("main.mp3"), 4000_000L, 5000_000L))
7575
addDataSource(input("2.amr"))
76-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
76+
addDataSource(ClipDataSource(input("main.mp3"), 6000_000L, 7000_000L))
7777
addDataSource(input("3.amr"))
78-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
78+
addDataSource(ClipDataSource(input("main.mp3"), 8000_000L, 9000_000L))
7979
addDataSource(input("4.amr"))
80-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
80+
addDataSource(ClipDataSource(input("main.mp3"), 10000_000L, 11000_000L))
8181
addDataSource(input("5.amr"))
82-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
82+
addDataSource(ClipDataSource(input("main.mp3"), 12000_000L, 13000_000L))
8383
addDataSource(input("6.amr"))
84-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
84+
addDataSource(ClipDataSource(input("main.mp3"), 14000_000L, 15000_000L))
8585
addDataSource(input("7.amr"))
86-
addDataSource(ClipDataSource(input("main.mp3"), 0L, 1000_000L))
86+
addDataSource(ClipDataSource(input("main.mp3"), 16000_000L, 17000_000L))
8787
addDataSource(input("8.amr"))
8888
}
8989
Unit

lib/src/main/java/com/otaliastudios/transcoder/internal/audio/remix/AudioRemixer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ internal interface AudioRemixer {
2424
companion object {
2525
internal operator fun get(inputChannels: Int, outputChannels: Int): AudioRemixer = when {
2626
inputChannels !in setOf(1, 2) -> error("Input channel count not supported: $inputChannels")
27-
outputChannels !in setOf(1, 2) -> error("Input channel count not supported: $inputChannels")
27+
outputChannels !in setOf(1, 2) -> error("Output channel count not supported: $inputChannels")
2828
inputChannels < outputChannels -> UpMixAudioRemixer()
2929
inputChannels > outputChannels -> DownMixAudioRemixer()
3030
else -> PassThroughAudioRemixer()

lib/src/main/java/com/otaliastudios/transcoder/internal/transcode/DefaultTranscodeEngine.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ internal class DefaultTranscodeEngine(
6161
}
6262

6363
private fun createPipeline(
64-
type: TrackType,
65-
index: Int,
66-
status: TrackStatus,
67-
outputFormat: MediaFormat
64+
type: TrackType,
65+
index: Int,
66+
status: TrackStatus,
67+
outputFormat: MediaFormat
6868
): Pipeline {
6969
log.w("createPipeline($type, $index, $status), format=$outputFormat")
7070
val interpolator = timer.interpolator(type, index)

lib/src/main/java/com/otaliastudios/transcoder/sink/DefaultDataSink.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,7 @@ public void setOrientation(int rotation) {
100100

101101
@Override
102102
public void setLocation(double latitude, double longitude) {
103-
if (Build.VERSION.SDK_INT >= 19) {
104-
mMuxer.setLocation((float) latitude, (float) longitude);
105-
}
103+
mMuxer.setLocation((float) latitude, (float) longitude);
106104
}
107105

108106
@Override

lib/src/main/java/com/otaliastudios/transcoder/time/SpeedTimeInterpolator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public SpeedTimeInterpolator(float factor) {
3838
* @return the factor
3939
*/
4040
@SuppressWarnings("unused")
41-
public float getFactor() {
41+
public float getFactor(@NonNull TrackType type, long time) {
4242
return (float) mFactor;
4343
}
4444

@@ -50,7 +50,7 @@ public long interpolate(@NonNull TrackType type, long time) {
5050
data.lastCorrectedTime = time;
5151
} else {
5252
long realDelta = time - data.lastRealTime;
53-
long correctedDelta = (long) ((double) realDelta / mFactor);
53+
long correctedDelta = (long) ((double) realDelta / getFactor(type, time));
5454
data.lastRealTime = time;
5555
data.lastCorrectedTime += correctedDelta;
5656
}

0 commit comments

Comments
 (0)