Skip to content

Media browsing and searching#77

Merged
zehnm merged 15 commits intomainfrom
feat/media-browsing
Mar 18, 2026
Merged

Media browsing and searching#77
zehnm merged 15 commits intomainfrom
feat/media-browsing

Conversation

@zehnm
Copy link
Collaborator

@zehnm zehnm commented Mar 6, 2026

Enhance the media-player entity documentation and the Core-APIs, Integration-API with
media browsing and searching.

New media-player entity features:

Name Description
play_media The player supports playing a specific media item.
play_media_action The player supports the play_media action parameter to either play or enqueue.
clear_playlist The player allows clearing the active playlist.
browse_media The player supports browsing media containers.
search_media The player supports searching for media items.
search_media_classes The player provides a list of media classes as filter for searches.

New media-player entity attributes:

Attribute Features Type Values Description
media_id media_type string The content ID of media being played.
media_playlist play_pause string Title of Playlist currently playing.
next, previous
play_media_action play_media_action list Media Play Action Supported media play actions.
search_media_classes search_media_classes list Media Classes List of media classes to use as a filter for search_media. Custom classes should be avoided.

New media-player entity commands

cmd_id Parameters Description
play_media media_id, media_type Play or enqueue a media item.
action Optional MediaPlayAction enum if feature play_media_action is supported. Play now, next or enqueue.
clear_playlist - Removes all items from the playback queue. Current playback behaviour is integration-dependent (keep playing the current item or clearing everything).

Media Browsing

Media browsing uses a dedicated WebSocket message and is not part of the standard media-player entity commands.

msg Parameters Description
browse_media entity_id Browse media from a media-player entity.
media_id Optional media content ID to restrict browsing.
media_type Optional media content type to restrict browsing.
stable_ids Optional hint that the client requires stable media identifiers.
paging Optional paging object to limit returned items.

Media Searching

🚧 This is a development feature and subject to change. There is no UI support yet.

Media searching uses a dedicated WebSocket message and is not part of the standard media-player entity commands.

msg Parameters Description
search_media entity_id Search for media items in a media-player entity.
query Free-text search query.
media_id Optional media content ID to limit the search scope.
media_type Optional media content type to limit the search scope.
stable_ids Optional hint that the client requires stable media identifiers.
filter.media_classes Optional list of media classes to filter the results.
paging Optional paging object to limit returned items.

See "Media Player Entity" documentation for a full description of the new features.

Relates to unfoldedcircle/feature-and-bug-tracker#70

zehnm added 8 commits March 1, 2026 21:47
Enhance the media-player entity documentation and Integration-API with
media browsing and searching.
Add media playback support and enhance media player API

- Introduce `MediaPlayerRepeatMode` and `MediaPlayAction` enums.
- Add `maxLength` constraints for string fields in media player schema.
- Define optional `play_media_action` parameter for media control.
- Enhance documentation with new playback commands and API usage examples.
- Introduced `media_search` message and response schema.
- Updated `media_browse` to distinguish browsing and searching.
- Enhanced `thumbnail` field with `maxLength` constraint for encoded images.
- Added `mediaSearchResponse` schema to handle search results.
REST Core-API definitions for media browsing and searching
WebSocket Core-API definitions for media browsing and searching
Update media searching and planned feature details
@zehnm zehnm self-assigned this Mar 6, 2026
zehnm added 3 commits March 9, 2026 17:52
Rename media search query param to `q`
- New optional BrowseMediaItem field: subtitle
- play_media_action attribute for supported play actions
- define MediaPlayAction as extensible enum
- Define a specific SearchMediaItem for future enhancements without a breaking change.

fixup! WIP feat: add media browsing and searching support
@zehnm zehnm marked this pull request as ready for review March 16, 2026 13:51
@zehnm zehnm merged commit 0cf48cc into main Mar 18, 2026
3 checks passed
@zehnm zehnm deleted the feat/media-browsing branch March 18, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant