v0.3.0 - Dynamic Transcoding for Universal Media Playback
What's New
Phase 13: Dynamic Transcoding for Universal Media Playback
This release adds comprehensive transcoding support for media playback, ensuring compatibility across all device types including audio-only devices like Sonos speakers.
Features
- Universal Audio Endpoint: Audio playback now uses Emby's universal audio endpoint for maximum device compatibility
- Device Profiles: Predefined transcoding profiles for different playback scenarios
- Transcoding Session Management: Proper lifecycle management for transcoding sessions
- PlaybackInfo API: New API methods for querying playback capabilities and stream URLs
- Device ID Generation: Functions for generating consistent device IDs for transcoding sessions
Bug Fixes
- Audio-only Device Compatibility: Fixed media browsing to use MIME type prefixes (
audio/,video/) instead of MediaType constants, allowing audio-only Cast devices (Sonos, etc.) to see and play music content - Audio Playback: Fixed empty UserId in universal audio endpoint causing playback failures
CI/CD
- Added
homeassistant-stubsto test dependencies for consistent mypy behavior between local development and CI
Technical
- 1102 tests with 100% code coverage