Commit Graph

64 Commits

Author SHA1 Message Date
0b31d75021 bug de démarrage port 1900 occupé 2025-12-06 12:48:21 +01:00
1c2d30cbe9 debuggage des stream 2025-11-15 12:21:30 +01:00
Claude
ff859372cf Fix is_valid_pk to support progressive caching properly
Changes:
1. pmocache/cache_trait.rs - Fixed is_valid_pk() logic:
   - Accept files WITH completion markers (complete downloads)
   - Accept files WITHOUT markers but recent (< 60s) (downloads in progress)
   - Reject files WITHOUT markers and old (>= 60s) (failed downloads)

   This preserves progressive caching: files are valid as soon as prebuffer
   completes, without waiting for completion marker.

2. pmoupnp/cache_registry.rs - Added compatibility layer:
   - Re-exports get_audio_cache/get_cover_cache from singletons
   - Provides build_audio_url/build_cover_url for pmosource
   - Uses PMO_SERVER_URL env var for base URL

3. pmoupnp/lib.rs - Added cache_registry module to public API

This fixes "Cache entry not found" errors while maintaining progressive
caching functionality for play_and_cache example.
2025-11-07 08:09:20 +00:00
Claude
e06a8d95df Déplacer cache registry dans les crates individuelles (pattern singleton)
Au lieu d'avoir un cache_registry centralisé dans pmoupnp qui créait
des dépendances circulaires, chaque crate a maintenant son propre
singleton global :

- pmoaudiocache : register_audio_cache() + get_audio_cache()
- pmocovers : register_cover_cache() + get_cover_cache()

Changes:
- Add singleton pattern to pmoaudiocache/src/lib.rs
- Add singleton pattern to pmocovers/src/lib.rs
- Add once_cell dependency to both crates
- Update pmoplaylist to use pmoaudiocache::get_audio_cache() as fallback
- Update pmoupnp/upnp_server.rs to use register_* functions
- Update pmoupnp/lib.rs to reexport only get_* (not register_*)
- Remove pmoupnp/src/cache_registry.rs (no longer needed)

pmoupnp réexporte get_audio_cache() et get_cover_cache() pour
compatibilité avec le code existant (pmosource, etc.).
2025-11-05 20:48:52 +00:00
Claude
123bac1fdf Add register_audio_cache/register_cover_cache functions to pmoupnp
Fix "PlaylistManager not initialized" error in play_and_cache example.
The error occurred because pmoplaylist's WriteHandle calls
pmoupnp::get_audio_cache() to validate cache pks, but the global
cache registry wasn't initialized.

Changes:
- Add register_audio_cache() and register_cover_cache() functions
- Export them from pmoupnp lib.rs
- Call them in play_and_cache example after creating caches

This mirrors how UpnpServer initializes the cache registry.
2025-11-05 19:49:59 +00:00
Claude
5d88d3a25e refactor: Fix compilation warnings across multiple crates
- Remove unused imports (Filter, Digest, Resource, etc.)
- Prefix unused variables with underscore (_pk, _size)
- Fix snake_case naming for local variables
- Remove unused ArgumentError enum in pmoupnp
- Apply cargo fix suggestions for unused imports

Remaining warnings are async_fn_in_trait style warnings which
would require API breaking changes to address.
2025-11-04 22:20:35 +00:00
5b60fdbe1d Refactoring de pmoflac -factorisation de code ogg et opus 2025-10-29 22:36:36 +01:00
24502ff53b ok encore l'inconnu... 2025-10-29 22:36:36 +01:00
dea7062038 Je ne sais pas trop 2025-10-29 22:35:53 +01:00
e5fbf372c4 On continue le refactoring des sources 2025-10-29 22:35:10 +01:00
fc093743c1 Refactoring du cache pour une meilleur gestion des metadonnées 2025-10-29 22:35:10 +01:00
2ab526464d Lire le flac en stream et le décoder en PCM avec claxon 2025-10-26 06:46:56 +01:00
37c3d9daf6 refactoring des caches 2025-10-25 17:46:53 +02:00
2632233dbd Correction on cache system 2025-10-20 16:18:21 +02:00
31dba7d84a il faut réparer la detection des devices 2025-10-20 16:18:21 +02:00
776c535862 amélioration de la webapp 2025-10-20 16:18:21 +02:00
90a7b8b6fa ajoute une fonction dans pmoutils pour checker les ports occupés 2025-10-20 16:18:21 +02:00
da9684812a update du mediaserver pour le passer en mode stateless 2025-10-20 16:18:21 +02:00
749f96c168 fin du travail précédent par chatgpt plus 2025-10-20 16:18:21 +02:00
3ab0c58e4a travail sur les actions notion de service stateless 2025-10-20 16:18:21 +02:00
8be1e50681 Work on the contentdirectory action 2025-10-20 16:18:21 +02:00
032b55a6f1 ebuggage transcodage audio en flac 2025-10-20 16:18:21 +02:00
f00260ac4d debug radio paradise 2025-10-20 16:18:21 +02:00
cf12567ae5 Faire fonctionner le media server 2025-10-18 21:29:43 +02:00
ebc15b0518 nouveau mediarenderer 2025-10-18 14:33:52 +02:00
c1e0151a11 Refactoring des pmosource 2025-10-18 09:38:33 +02:00
f94a600ff8 ashboard dans le webapp qui liste dynamiquement toutes les APIs OpenAPI disponibles dans PMOMusic 2025-10-17 14:36:13 +02:00
68b0c89130 Sort la partie média renderer de pmoupnp pour en faire une crate independante 2025-10-16 22:00:16 +02:00
5eef699a60 mise à jours des handlers d'actions 2025-10-16 21:28:57 +02:00
a17b77a840 Ajoute la notion de reflexive value au statevariableinstance 2025-10-11 15:03:39 +02:00
708cefd5ab Ajoute une reference dans les VariableInstance vers leur ServiceInstance 2025-10-11 00:00:10 +02:00
4a8deae567 Correction du loggueur qui sature les CPU des browsers 2025-10-10 23:42:39 +02:00
2c8a1325b4 Ajoute une API d'exposition de l'état interne du serveur UPNP et un composant à l'application web qui permet de l'explorer 2025-10-10 17:00:11 +02:00
dca6fcb565 API de l'éta interne sur serveur web 2025-10-10 12:27:24 +02:00
4431a3b50b Correction des tests unitaires 2025-10-10 06:58:13 +02:00
982e5317fb test ollama code 2025-10-09 22:38:02 +02:00
5ace866ee0 Document pmoupnp::services 2025-10-09 20:36:39 +02:00
fd1a44b6fa Gerer les souscription aux variables 2025-10-09 12:11:16 +02:00
115658bf6a Correction de ChatGPT 2025-10-07 15:53:18 +02:00
adb6555aa6 Revue de code et refactoring 2025-10-07 08:32:48 +02:00
adeb37ce83 Connection de la couche sspd aux instances 2025-10-06 15:06:32 +02:00
428d54641e Developement de la couche sspd 2025-10-06 12:13:54 +02:00
adb316a6ac Documente la crate pmoapp 2025-10-06 12:04:28 +02:00
02c2788ecc Sort webapp du pmoserver dans la crate pmoapp 2025-10-06 11:28:24 +02:00
87859397df Sort le serveur dans une crate pmoserver 2025-10-06 06:28:48 +02:00
a648931960 lastest clean version 2025-10-06 05:59:01 +02:00
73342ea3ec implementation de ConnectionManager 2025-10-05 22:04:18 +02:00
bcb95c6be1 Implementation de rendering control 2025-10-05 22:03:13 +02:00
2776aac2a6 Mise en place d'une macro pour la définition des variables 2025-10-05 22:03:13 +02:00
7e193fb230 Je laisse Claude faire ses modification sur avtransport 2025-10-05 22:03:13 +02:00