Skip to content

Commit

Permalink
add content overview for NewPlayer docu
Browse files Browse the repository at this point in the history
  • Loading branch information
theScrabi committed Oct 28, 2024
1 parent d2d9cfd commit 3607ef3
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@
### So what is NewPlayer then?
NewPlayer is a media framework, which is independent of NewPipe itself. I decided to make it independent, because one of the big issues we have with the current player is that it is deeply integrated into NewPipe. Therefore, I wanted to make NewPlayer a separate module in order to enforce that the interface between NewPipe and the player is only as big as necessary. This also has the advantage that NewPlayer can be used independently of NewPipe itself, which means it can be used in other apps too.

## Content

1. [Quick overview](#let-me-give-you-a-profile-about-newplayer)
2. [Preview](#how-does-newplayer-look-like)
3. [Documentation](#documentation)
- [Getting started](#getting-started)
- [How NewPlayer works](#how-does-newplayer-work)
4. [Code Documentation](https://teamnewpipe.github.io/NewPlayer/)


### Let me give you a Profile about NewPlayer:
- It is a module, separate from NewPipe and can be used as an independent player framework
- It is based on the [Media3](https://developer.android.com/media/media3) library
Expand Down Expand Up @@ -134,16 +144,12 @@ Main menu
6. **Give NewPlayer access to your media**
You can do this by implementing your own [`MediaRepository`](https://teamnewpipe.github.io/NewPlayer/new-player/net.newpipe.newplayer.repository/-media-repository/index.html). You can find more information about the [`MediaRepository`](https://teamnewpipe.github.io/NewPlayer/new-player/net.newpipe.newplayer.repository/-media-repository/index.html) inside its [`code documentation`](https://github.com/TeamNewPipe/NewPlayer/blob/dev/new-player/src/main/java/net/newpipe/newplayer/repository/MediaRepository.kt#L32-71). You can also find a [test implementation](https://github.com/TeamNewPipe/NewPlayer/blob/dev/test-app/src/main/java/net/newpipe/newplayer/testapp/TestMediaRepository.kt) of it in the test-app.
You can do this by implementing your own [`MediaRepository`](https://teamnewpipe.github.io/NewPlayer/new-player/net.newpipe.newplayer.repository/-media-repository/index.html). More information can be found about thins in the [`MediaRepository code documentation`](https://teamnewpipe.github.io/NewPlayer/new-player/net.newpipe.newplayer.repository/-media-repository/index.html). There is also an [example implementation](https://github.com/TeamNewPipe/NewPlayer/blob/dev/test-app/src/main/java/net/newpipe/newplayer/testapp/TestMediaRepository.kt) of it in the test-app.
7. **Do advanced things**
Like applying caching and prefetching to your media repository using the meta `MediaRepository` implementations, or perform error handling and error recovering. *TOOD: Write the documentation for this*
## Documentation
You can find the code documentation for NewPlayer [here](https://teamnewpipe.github.io/NewPlayer/).
## How does NewPlayer work
![Immage showing NewPlayer's architecture](/misc/newplayer_architecture.svg)
Expand Down

0 comments on commit 3607ef3

Please sign in to comment.