A Kotlin based Library for Download initial Segments of an HLS File
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andy Eshiet 0ed7dee152 Merge branch 'master' of https://gitea.udux.com/eandy/Deem 1 year ago
.idea Fixed issue with bintray 1 year ago
app Fixed issue with bintray 1 year ago
buildSrc Fixed issue with bintray 1 year ago
deem-base Fixed issue with bintray 1 year ago
deem-singleton Fixed issue with bintray 1 year ago
docs/api/deem-base Fixed issue with bintray 1 year ago
gradle/wrapper initial build 1 year ago
.drone.yml Added Singleton moduleC 1 year ago
.gitignore initial build 1 year ago
README.md updated readme 1 year ago
build.gradle.kts Fixed issue with bintray 1 year ago
gradle.properties Fixed issue with bintray 1 year ago
gradlew initial build 1 year ago
gradlew.bat initial build 1 year ago
settings.gradle.kts Fixed issue with bintray 1 year ago


An Segment loading library for Android backed by Kotlin Coroutines. Deem is:

  • Fast: Deem performs a number of optimizations including memory and disk caching.y, re-using HLS files, automatically pausing/cancelling requests, and more.
  • Lightweight: Deem adds ~2000 methods to your APK (for apps that already use OkHttp and Coroutines)
  • Easy to use: Deem’s API leverages Kotlin’s language features for simplicity and minimal boilerplate.
  • Modern: Deem is Kotlin-first and uses modern libraries including Coroutines, OkHttp, Okio, and AndroidX Lifecycles.

Made with ❤️ at Groove Platforms.

Deem is available on Bintray.


Add this block to your project build.gradle file under buildScript block

maven {
            url  "http://dl.bintray.com/mathemandy/maven"

Quick Start

To Begin the Download Sequence, A View is needed as a reference that ties each request.
An ImageView is used to load extension function:

// URI

val source = Uri.parse("https://umedia.com/.....mp4#...m3u8")
- **NB** It is important to pass in a uri to make this work 

## Requirements

- AndroidX
- Min SDK 14+
- Compile SDK: 29+
- [Java 8+](https://coil-kt.github.io/coil/getting_started/#java-8)

## R8 / Proguard

Deem is fully compatible with R8 out of the box and doesn't require adding any extra rules.

If you use Proguard, you may need to add rules for [Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro), [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro) and [Okio](https://github.com/square/okio/blob/master/okio/src/jvmMain/resources/META-INF/proguard/okio.pro).

## License

    Copyright 2020 Coil Contributors

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at


    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.