Phase 2: Medien-Engine – Transport, Preload, Library, Content-Manifest
- PlaybackController (§12.5): Play/Pause/Stop/Retrigger, Loop/Once/ Ping-Pong mit In/Out-Fenstern, variable Geschwindigkeit ±4x (§16.6), Ende-Ereignis genau einmal je Pass, monotone Ereignis-Zeitbasis (§12.2) - PreloadSlot (§12.2): atomarer Clipwechsel preload->ready->commit; nicht bereites Medium wechselt nie (Policy beim Aufrufer) - MediaLibrary (§13.2/§13.3): Import mit SHA-256-Duplikaterkennung, Bank-Slots als explizite Show-Metadaten, fehlende Dateien markiert, Relink; Import laeuft im Control-Core-Worker, nie im Renderthread - ContentManifest (§6.4/§10.1): SHA-256 je Datei + resumierbare Chunk-Hashes, Verifikation gegen Veraenderung, Diff fuer Sync-Plan, deterministische Serialisierung mit Revision - 35 neue Unit-Tests; Gesamtsuite 258 gruen, Ruff gruen
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
"""hms_media – Playback-Transport und Medienbibliothek (PLAN.md §12.5, §13)."""
|
||||
|
||||
from hms_media.library import ImportOutcome, ImportStatus, MediaLibrary
|
||||
from hms_media.transport import (
|
||||
PlaybackController,
|
||||
PlaybackEvent,
|
||||
PlaybackEventKind,
|
||||
PreloadSlot,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"PlaybackController",
|
||||
"PlaybackEvent",
|
||||
"PlaybackEventKind",
|
||||
"PreloadSlot",
|
||||
"MediaLibrary",
|
||||
"ImportOutcome",
|
||||
"ImportStatus",
|
||||
]
|
||||
Reference in New Issue
Block a user