Skip to content

Commit

Permalink
Move directories around
Browse files Browse the repository at this point in the history
  • Loading branch information
peaBerberian committed Feb 5, 2024
1 parent baf0e8e commit 2744e33
Show file tree
Hide file tree
Showing 357 changed files with 1,918 additions and 1,873 deletions.
2 changes: 1 addition & 1 deletion FILES.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ It facilitates the role of loading the Manifest and new segments for the rest of
the core.


### `src/core/segment_buffers/`: Media buffers
### `src/core/segment_sinks/`: Media buffers

Code allowing to interact with the media buffers called `SegmentBuffers`.

Expand Down
271 changes: 169 additions & 102 deletions src/README.md

Large diffs are not rendered by default.

231 changes: 0 additions & 231 deletions src/TODO_README.md

This file was deleted.

2 changes: 1 addition & 1 deletion src/compat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

| Consideration | Status |
|-------------------------|---------------------------------------------|
| Preferred import style | Compat files should be imported directly |
| Preferred import style | Compat files can be imported directly |
| Multithread environment | Main thread or WebWorker depending on file |

## Overview ####################################################################
Expand Down
40 changes: 17 additions & 23 deletions src/core/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,27 @@
# RxPlayer core ################################################################

| Consideration | Status |
|-------------------------|-----------------------------------------------------|
| Preferred import style | The `core` directory shouldn't be imported directly |
| Multithread environment | Depends, see inner directories' `README.md` files |
| Consideration | Status |
|-------------------------|--------------------------------------------|
| Preferred import style | Depends on the environment [1] |
| Multithread environment | Should be runnable in a WebWorker entirely |

[1] In a Multithreading mode, only the `types` file should probably be imported
by external code (to ensure a small bundle size). In a monothreading mode,
files from the `core_portal` subdirectory may be directly imported.

## Overview ####################################################################

The "core" regroups multiple modules constituting the central logic of the
RxPlayer.
RxPlayer which can optionally run in a WebWorker environment.

Those modules are:

- __the `API` (./api)__

Defines the public API of the RxPlayer and provides abstractions to help
implementing it.


- __the `ContentInitializer` (_./init)__

Initialize playback and connects different modules between one another.

- __the `CorePortal` (_./core_portal)__

- __the `ContentDecryptor` (./decrypt)__
Make the link between the "main thread" part of the code and the core.

Negotiate content decryption.
Only used for contents with DRM (Digital Right Management).
When the core runs in a WebWorker, this is the part receiving and handling
messages from the main thread.


- __the `AdaptiveRepresentationSelector` (./adaptive)__
Expand All @@ -41,19 +36,18 @@ Those modules are:
called the `SegmentBuffers`) to then be able to decode them.


- __the `SegmentBuffers` (./segment_buffers)__
- __the `SegmentBuffers` (./segment_sinks)__

Implement media buffers on which loaded segments will be pushed.
Implement media sinks on which loaded segments will be pushed.
The corresponding media data contained in them will then be decoded at the
right time.

Those buffers can depend on browser implementations (for example for audio
Those can depend on browser buffers implementations (for example for audio
and video contents, we rely on `SourceBuffer` JS objects) or may be
completely defined in the code (for example, text track buffers in the
`"html"` `textTrackMode` are entirely defined in the RxPlayer).

Those `SegmentBuffers` have added niceties over just being simple data
buffers. For example, they include an inventory which allows to retrieve the
Those `SegmentBuffers` include an inventory which allows to retrieve the
metadata about every segments that is still contained within it.

- __the `fetchers` (./fetchers)__
Expand Down
Loading

0 comments on commit 2744e33

Please sign in to comment.