Skip to content

Commit

Permalink
Moved the mp4 reader to a pure java module
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulWoitaschek committed Jul 24, 2017
1 parent 3914c04 commit b8df7f7
Show file tree
Hide file tree
Showing 363 changed files with 164 additions and 108 deletions.
4 changes: 3 additions & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
4 changes: 4 additions & 0 deletions audiobook/build.gradle → app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ android {
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.pro'
signingConfig signingConfigs.release
multiDexEnabled false
}
debug {
minifyEnabled false
shrinkResources false
ext.enableCrashlytics = false
multiDexEnabled true

applicationIdSuffix ".debug"
}
Expand Down Expand Up @@ -79,6 +81,8 @@ android {

dependencies {
compile project(":core")
compile project(":common")
compile project(":chapterreader")

kapt libraries.dataBindingCompiler

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import android.support.v4.content.ContextCompat
import d
import de.ph1b.audiobook.Book
import de.ph1b.audiobook.Chapter
import de.ph1b.audiobook.chapterReader.mp4.Mp4ChapterReader
import de.ph1b.audiobook.features.chapterReader.id3.ID3ChapterReader
import de.ph1b.audiobook.features.chapterReader.matroska.MatroskaChapterReader
import de.ph1b.audiobook.features.chapterReader.mp4.Mp4ChapterReader
import de.ph1b.audiobook.features.chapterReader.ogg.readChaptersFromOgg
import de.ph1b.audiobook.misc.FileRecognition
import de.ph1b.audiobook.misc.MediaAnalyzer
Expand All @@ -19,6 +19,7 @@ import de.ph1b.audiobook.misc.asV2Observable
import de.ph1b.audiobook.misc.combineLatest
import de.ph1b.audiobook.misc.emptySparseArray
import de.ph1b.audiobook.misc.listFilesSafely
import de.ph1b.audiobook.misc.toSparseArray
import de.ph1b.audiobook.misc.value
import de.ph1b.audiobook.persistence.BookRepository
import de.ph1b.audiobook.persistence.PrefsManager
Expand All @@ -44,7 +45,8 @@ import javax.inject.Singleton
private val prefs: PrefsManager,
private val repo: BookRepository,
private val coverCollector: CoverFromDiscCollector,
private val mediaAnalyzer: MediaAnalyzer
private val mediaAnalyzer: MediaAnalyzer,
private val mp4ChapterReader: Mp4ChapterReader
) {

private val executor = Executors.newSingleThreadExecutor()
Expand Down Expand Up @@ -324,7 +326,7 @@ import javax.inject.Singleton
if (result is MediaAnalyzer.Result.Success) {
val marks = when (f.extension) {
"mp3" -> f.inputStream().use { ID3ChapterReader.readInputStream(it) }
"mp4", "m4a", "m4b", "aac" -> Mp4ChapterReader.readChapters(f)
"mp4", "m4a", "m4b", "aac" -> mp4ChapterReader.readChapters(f).toSparseArray()
"opus", "ogg", "oga" -> f.inputStream().use { readChaptersFromOgg(it) }
"mka", "mkv", "webm" -> MatroskaChapterReader.read(f)
else -> emptySparseArray<String>()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.ph1b.audiobook.features.chapterReader.id3

import android.util.SparseArray
import de.ph1b.audiobook.features.chapterReader.skipBytes
import de.ph1b.audiobook.common.skipBytes
import e
import java.io.IOException
import java.io.InputStream
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package de.ph1b.audiobook.features.chapterReader.ogg

import android.util.SparseArray
import de.ph1b.audiobook.common.startsWith
import de.ph1b.audiobook.features.chapterReader.ogg.oggReading.OggPageParseException
import de.ph1b.audiobook.features.chapterReader.ogg.oggReading.OggStream
import de.ph1b.audiobook.features.chapterReader.ogg.oggReading.demuxOggStreams
import de.ph1b.audiobook.features.chapterReader.ogg.oggReading.readOggPages
import de.ph1b.audiobook.features.chapterReader.ogg.vorbisComment.VorbisComment
import de.ph1b.audiobook.features.chapterReader.ogg.vorbisComment.VorbisCommentParseException
import de.ph1b.audiobook.features.chapterReader.ogg.vorbisComment.VorbisCommentReader
import de.ph1b.audiobook.features.chapterReader.readBytes
import de.ph1b.audiobook.features.chapterReader.startsWith
import de.ph1b.audiobook.misc.emptySparseArray
import de.ph1b.audiobook.misc.values
import e
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.ph1b.audiobook.features.chapterReader.ogg.oggReading

import de.ph1b.audiobook.features.chapterReader.toUInt
import de.ph1b.audiobook.common.toUInt


object PackageSizeParser {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package de.ph1b.audiobook.features.chapterReader.ogg.oggReading

import android.util.SparseArray
import de.ph1b.audiobook.features.chapterReader.readBytes
import de.ph1b.audiobook.features.chapterReader.readLeInt32
import de.ph1b.audiobook.features.chapterReader.readLeInt64
import de.ph1b.audiobook.features.chapterReader.readLeUInt32
import de.ph1b.audiobook.features.chapterReader.readUInt8
import de.ph1b.audiobook.features.chapterReader.skipBytes
import de.ph1b.audiobook.features.chapterReader.toUInt
import de.ph1b.audiobook.common.readLeInt32
import de.ph1b.audiobook.common.readLeInt64
import de.ph1b.audiobook.common.readLeUInt32
import de.ph1b.audiobook.common.readUInt8
import de.ph1b.audiobook.common.skipBytes
import de.ph1b.audiobook.common.toUInt
import java.io.EOFException
import java.io.InputStream

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package de.ph1b.audiobook.features.chapterReader.ogg.vorbisComment

import de.ph1b.audiobook.features.chapterReader.readBytes
import de.ph1b.audiobook.features.chapterReader.readLeUInt32
import de.ph1b.audiobook.common.readLeUInt32
import java.io.InputStream

object VorbisCommentReader {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import android.view.WindowManager
import com.squareup.moshi.Moshi
import dagger.Module
import dagger.Provides
import de.ph1b.audiobook.common.ErrorReporter
import de.ph1b.audiobook.features.crashlytics.CrashlyticsProxy
import javax.inject.Singleton


Expand All @@ -30,4 +32,5 @@ import javax.inject.Singleton
@Provides @Singleton fun provideSensorManager(context: Context) = context.getSystemService(Context.SENSOR_SERVICE) as SensorManager?
@Provides @Singleton fun providePowerManager(context: Context) = context.getSystemService(Context.POWER_SERVICE) as PowerManager
@Provides @Singleton fun provideMoshi(): Moshi = Moshi.Builder().build()
@Provides @Singleton fun provideErrorReporter(): ErrorReporter = CrashlyticsProxy
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,14 @@ fun <T> SparseArray<T>.toMap(): Map<Int, T> {
return res
}

fun <T> Map<Int, T>.toSparseArray(): SparseArray<T> {
val array = SparseArray<T>(size)
forEach { (key, value) ->
array.put(key, value)
}
return array
}

val <T> SparseArray<T>.values
get() = (0..size() - 1).map { valueAt(it) }

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit b8df7f7

Please sign in to comment.