├── .github └── CODEOWNERS ├── .gitignore ├── LICENSE ├── README.md ├── artwork ├── compose-video-player.png ├── fullscreen.gif └── pip.gif ├── compose-video-baselineprof ├── build.gradle.kts └── src │ └── main │ ├── AndroidManifest.xml │ └── kotlin │ └── io │ └── sanghun │ └── compose │ └── video │ └── benchmark │ ├── BaselineProfileBenchmark.kt │ └── BaselineProfileGenerator.kt ├── compose-video ├── api │ └── current.api ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── baseline-prof.txt │ └── kotlin │ └── io │ └── sanghun │ └── compose │ └── video │ ├── RepeatMode.kt │ ├── ResizeMode.kt │ ├── VideoPlayer.kt │ ├── VideoPlayerFullScreenDialog.kt │ ├── cache │ └── VideoPlayerCacheManager.kt │ ├── controller │ └── VideoPlayerControllerConfig.kt │ ├── pip │ └── PictureInPicture.kt │ ├── uri │ ├── VideoPlayerMediaItem.kt │ └── VideoPlayerMediaItemConverter.kt │ └── util │ ├── ContextUtil.kt │ └── WindowUtil.kt ├── debug.keystore ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── publish.gradle ├── publish.properties.example ├── sample ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── androidTest │ └── kotlin │ │ └── io │ │ └── sanghun │ │ └── compose │ │ └── video │ │ └── ExampleInstrumentedTest.kt │ ├── benchmark │ └── AndroidManifest.xml │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── io │ │ │ └── sanghun │ │ │ └── compose │ │ │ └── video │ │ │ └── sample │ │ │ ├── MainActivity.kt │ │ │ ├── PlayList.kt │ │ │ └── ui │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── raw │ │ └── test_video.mp4 │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── kotlin │ └── io │ └── sanghun │ └── compose │ └── video │ └── ExampleUnitTest.kt ├── scripts ├── generate-dokka.gradle ├── publish-module.gradle └── publish-root.gradle ├── settings.gradle.kts └── spotless └── copyright.kt /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/README.md -------------------------------------------------------------------------------- /artwork/compose-video-player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/artwork/compose-video-player.png -------------------------------------------------------------------------------- /artwork/fullscreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/artwork/fullscreen.gif -------------------------------------------------------------------------------- /artwork/pip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/artwork/pip.gif -------------------------------------------------------------------------------- /compose-video-baselineprof/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video-baselineprof/build.gradle.kts -------------------------------------------------------------------------------- /compose-video-baselineprof/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video-baselineprof/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /compose-video-baselineprof/src/main/kotlin/io/sanghun/compose/video/benchmark/BaselineProfileBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video-baselineprof/src/main/kotlin/io/sanghun/compose/video/benchmark/BaselineProfileBenchmark.kt -------------------------------------------------------------------------------- /compose-video-baselineprof/src/main/kotlin/io/sanghun/compose/video/benchmark/BaselineProfileGenerator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video-baselineprof/src/main/kotlin/io/sanghun/compose/video/benchmark/BaselineProfileGenerator.kt -------------------------------------------------------------------------------- /compose-video/api/current.api: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/api/current.api -------------------------------------------------------------------------------- /compose-video/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/build.gradle.kts -------------------------------------------------------------------------------- /compose-video/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compose-video/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/proguard-rules.pro -------------------------------------------------------------------------------- /compose-video/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /compose-video/src/main/baseline-prof.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/baseline-prof.txt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/RepeatMode.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/RepeatMode.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/ResizeMode.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/ResizeMode.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/VideoPlayer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/VideoPlayer.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/VideoPlayerFullScreenDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/VideoPlayerFullScreenDialog.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/cache/VideoPlayerCacheManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/cache/VideoPlayerCacheManager.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/controller/VideoPlayerControllerConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/controller/VideoPlayerControllerConfig.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/pip/PictureInPicture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/pip/PictureInPicture.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/uri/VideoPlayerMediaItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/uri/VideoPlayerMediaItem.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/uri/VideoPlayerMediaItemConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/uri/VideoPlayerMediaItemConverter.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/util/ContextUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/util/ContextUtil.kt -------------------------------------------------------------------------------- /compose-video/src/main/kotlin/io/sanghun/compose/video/util/WindowUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/compose-video/src/main/kotlin/io/sanghun/compose/video/util/WindowUtil.kt -------------------------------------------------------------------------------- /debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/debug.keystore -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradle/libs.versions.toml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/gradlew.bat -------------------------------------------------------------------------------- /publish.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/publish.gradle -------------------------------------------------------------------------------- /publish.properties.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/publish.properties.example -------------------------------------------------------------------------------- /sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sample/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/build.gradle.kts -------------------------------------------------------------------------------- /sample/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/proguard-rules.pro -------------------------------------------------------------------------------- /sample/src/androidTest/kotlin/io/sanghun/compose/video/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/androidTest/kotlin/io/sanghun/compose/video/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /sample/src/benchmark/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/benchmark/AndroidManifest.xml -------------------------------------------------------------------------------- /sample/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /sample/src/main/kotlin/io/sanghun/compose/video/sample/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/kotlin/io/sanghun/compose/video/sample/MainActivity.kt -------------------------------------------------------------------------------- /sample/src/main/kotlin/io/sanghun/compose/video/sample/PlayList.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/kotlin/io/sanghun/compose/video/sample/PlayList.kt -------------------------------------------------------------------------------- /sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Color.kt -------------------------------------------------------------------------------- /sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Theme.kt -------------------------------------------------------------------------------- /sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/kotlin/io/sanghun/compose/video/sample/ui/theme/Type.kt -------------------------------------------------------------------------------- /sample/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /sample/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/src/main/res/raw/test_video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/raw/test_video.mp4 -------------------------------------------------------------------------------- /sample/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /sample/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/xml/backup_rules.xml -------------------------------------------------------------------------------- /sample/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/main/res/xml/data_extraction_rules.xml -------------------------------------------------------------------------------- /sample/src/test/kotlin/io/sanghun/compose/video/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/sample/src/test/kotlin/io/sanghun/compose/video/ExampleUnitTest.kt -------------------------------------------------------------------------------- /scripts/generate-dokka.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/scripts/generate-dokka.gradle -------------------------------------------------------------------------------- /scripts/publish-module.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/scripts/publish-module.gradle -------------------------------------------------------------------------------- /scripts/publish-root.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/scripts/publish-root.gradle -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /spotless/copyright.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dsa28s/compose-video/HEAD/spotless/copyright.kt --------------------------------------------------------------------------------