diff options
| author | 2025-05-07 16:52:14 -0400 | |
|---|---|---|
| committer | 2025-05-07 16:55:39 -0400 | |
| commit | 8f9ddafb128eabe346b48adebdeb1f34da05b005 (patch) | |
| tree | a50ff8be72277bdfe942c32317805128f424040f /src/cache | |
| parent | efbe4b52a22ea3c4458401a7acbce89a5bf29299 (diff) | |
| download | camu-8f9ddafb128eabe346b48adebdeb1f34da05b005.tar.gz camu-8f9ddafb128eabe346b48adebdeb1f34da05b005.tar.bz2 camu-8f9ddafb128eabe346b48adebdeb1f34da05b005.zip | |
Make server resource a fat entity
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/cache')
| -rw-r--r-- | src/cache/entry.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/cache/entry.h b/src/cache/entry.h index c74870d..d6eb86a 100644 --- a/src/cache/entry.h +++ b/src/cache/entry.h @@ -18,6 +18,17 @@ - dvd/bluray (drive or iso) - live source (radio antenna) + Chapters: + - Potential resources with chapters: + - Single wav with cue. + - Multiple wav with cue. + - Single mp4 with chapters in metadata. + - DVD iso image. + - DVD/CD drive. + - Chapter as seek or node per chapter? + - Node per chapter definitely seems to make the most sense. Maybe we could + have a "ignore chapters" flag for single containers like mp4. + Other considerations: - Chapter priority (disc drive) - For now 1 user and 1 list owns the drive totally. @@ -28,10 +39,32 @@ - Networked backing? - Is a liana "node handler" necessary? + Flow of a resource: + - Entry: + - Holds the data but as of now doesn't read metadata. + - Server: + - Informs clients about entry metadata. + - Liana node: + - Only place currently setup to block for reading duration. + - Disc drive resources need to block to read chapters as well. + - File open could likely benefit from being non-blocking/threaded. + - Fit into server list_callback()? Could be as simple as replacing lia_node_get_duration(). + - Any catches to moving duration retrival to the cache entry? + - Cache objects? (Disc drive) + - Handles it's own state on demand. + - Re-evaluate list behavior without duration. + Cache/liana refactor: [x] get/set_size() no longer make sense. [x] // @TODO: Unknown size is unhandled in backings. - Handle keeps reading but will eventually have a wait cut short after a backing finalize. + [ ] Expanding list entry. + - How to handle unload? + - Disc drive can trigger unload. + - Make sure we can skip around in list while an entry load is pending. + - Also cancel load requests on unload. + - Consider pitfalls in the idea of having a "cd object" in the list that can be unloaded + and loaded with different cds. [ ] Separate cch_handler from cch_entry. - Move waits to entry? - Create cache entry with argument like file, cue, http, hls, etc. |