Skip to content

Commit

Permalink
Merge pull request #34 from jarnedemeulemeester/develop
Browse files Browse the repository at this point in the history
Version 0.2.0
  • Loading branch information
jarnedemeulemeester authored Sep 20, 2021
2 parents 905332e + 212f35c commit ac54e40
Show file tree
Hide file tree
Showing 44 changed files with 2,778 additions and 462 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/.idea/discord.xml
/.idea/gradle.xml
/.idea/deploymentTargetDropDown.xml
/.idea/misc.xml
.DS_Store
/build
/captures
Expand Down
18 changes: 0 additions & 18 deletions .idea/misc.xml

This file was deleted.

21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Findroid banner](images/banner.svg)
![Findroid banner](images/findroid-banner.png)

# Findroid

Expand All @@ -21,12 +21,19 @@ Home | Library | Movie | Season | Episode
- Completely native interface
- Supported media items: movies, series, seasons, episodes
- Direct play only, (no transcoding)
- Video codes: H.263, H.264, H.265, VP8, VP9, AV1
- Support depends on Android device
- Audio codes: Vorbis, Opus, FLAC, ALAC, PCM µ-law, PCM A-law, MP1, MP2, MP3, AMR-NB, AMR-WB, AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD
- Support provided by ExoPlayer FFmpeg extension
- Subtitle codecs: SRT, VTT, SSA/ASS, PGSSUB
- SSA/ASS has limited styling support see [this issue](https://github.com/google/ExoPlayer/issues/8435)
- ExoPlayer
- Video codes: H.263, H.264, H.265, VP8, VP9, AV1
- Support depends on Android device
- Audio codes: Vorbis, Opus, FLAC, ALAC, PCM µ-law, PCM A-law, MP1, MP2, MP3, AMR-NB, AMR-WB, AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD
- Support provided by ExoPlayer FFmpeg extension
- Subtitle codecs: SRT, VTT, SSA/ASS, PGSSUB
- SSA/ASS has limited styling support see [this issue](https://github.com/google/ExoPlayer/issues/8435)
- **NEW** MPV Player
- Should play everything, including SSA/ASS subs with proper styling!
- Optionally force software decoding when hardware decoding has issues.
- Issues:
- Can only play one item at a time, doesn't transistion to the next episode


## Planned features
- Websocket connection (Syncplay)
Expand Down
113 changes: 0 additions & 113 deletions app/build.gradle

This file was deleted.

123 changes: 123 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-parcelize")
id("kotlin-kapt")
id("androidx.navigation.safeargs.kotlin")
id("dagger.hilt.android.plugin")
id("com.mikepenz.aboutlibraries.plugin")
}

android {
compileSdk = 31
buildToolsVersion = "31.0.0"

defaultConfig {
applicationId = "dev.jdtech.jellyfin"
minSdk = 24
targetSdk = 31
versionCode = 4
versionName = "0.2.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
getByName("debug") {
applicationIdSuffix = ".debug"
}
create("staging") {
initWith(getByName("release"))
applicationIdSuffix = ".staging"
}
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}

compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

kotlinOptions {
jvmTarget = "1.8"
}

buildFeatures {
dataBinding = true
viewBinding = true
}
}

dependencies {
implementation("androidx.core:core-ktx:1.6.0")
implementation("androidx.core:core-splashscreen:1.0.0-alpha01")
implementation("androidx.appcompat:appcompat:1.3.1")

// Material
implementation("com.google.android.material:material:1.4.0")

// ConstraintLayout
implementation("androidx.constraintlayout:constraintlayout:2.1.0")

// Navigation
val navigationVersion = "2.3.5"
implementation("androidx.navigation:navigation-fragment-ktx:$navigationVersion")
implementation("androidx.navigation:navigation-ui-ktx:$navigationVersion")

// RecyclerView
implementation("androidx.recyclerview:recyclerview:1.2.1")
implementation("androidx.recyclerview:recyclerview-selection:1.1.0")

// Room
val roomVersion = "2.3.0"
implementation("androidx.room:room-runtime:$roomVersion")
kapt("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")

// Preference
val preferenceVersion = "1.1.1"
implementation("androidx.preference:preference-ktx:$preferenceVersion")

// Jellyfin
val jellyfinVersion = "1.0.3"
implementation("org.jellyfin.sdk:jellyfin-platform-android:$jellyfinVersion")

// Glide
val glideVersion = "4.12.0"
implementation("com.github.bumptech.glide:glide:$glideVersion")
kapt("com.github.bumptech.glide:compiler:$glideVersion")

// Hilt
val hiltVersion = "2.38.1"
implementation("com.google.dagger:hilt-android:$hiltVersion")
kapt("com.google.dagger:hilt-compiler:$hiltVersion")

// ExoPlayer
val exoplayerVersion = "2.15.0"
implementation("com.google.android.exoplayer:exoplayer-core:$exoplayerVersion")
implementation("com.google.android.exoplayer:exoplayer-ui:$exoplayerVersion")
implementation(files("libs/extension-ffmpeg-release.aar"))

// MPV
implementation(files("libs/libmpv.aar"))

// Timber
val timberVersion = "5.0.1"
implementation("com.jakewharton.timber:timber:$timberVersion")

val aboutLibrariesVersion = "8.9.1"
implementation("com.mikepenz:aboutlibraries-core:$aboutLibrariesVersion")
implementation("com.mikepenz:aboutlibraries:$aboutLibrariesVersion")

// Testing
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.3")
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")

coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5")
}
Binary file added app/libs/libmpv.aar
Binary file not shown.
2 changes: 1 addition & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/assets/mpv.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### hwdec: try to use hardware decoding
# hwdec=mediacodec-copy
# hwdec-codecs="h264,hevc,mpeg4,mpeg2video,vp8,vp9,av1"

### tls: allow self signed certificate
# tls-verify=no
# tls-ca-file=""

### sub: scale subtitles with video
# sub-scale-with-window=no
# sub-use-margins=no
Binary file added app/src/main/assets/subfont.ttf
Binary file not shown.
Loading

0 comments on commit ac54e40

Please sign in to comment.