Hi,
I’m trying to create a virtual audio device with mediaPlayback capability.
The capabilities are registered as follows
capability_handlers = {
...
[st_capabilities.mediaPlayback.ID] = {
[st_capabilities.mediaPlayback.commands.play.NAME] = event_handler_media_playback_set,
[st_capabilities.mediaPlayback.commands.pause.NAME] = event_handler_media_playback_set,
[st_capabilities.mediaPlayback.commands.stop.NAME] = event_handler_media_playback_set,
[st_capabilities.mediaPlayback.commands.fastForward.NAME] = event_handler_media_playback_set,
[st_capabilities.mediaPlayback.commands.rewind.NAME] = event_handler_media_playback_set
},
}
When the driver is initialized, it prints
CapabilityCommandDispatcher: Virtual Devices Creator
default_handlers:
...
mediaPlayback:
play
fastForward
stop
pause
rewind
I receive events for all commands, except fastForward.
When pressing fast forward button, I immediately get ‘A network or server error occurred’ . I don’t see any events generated in the log.
What am I missing?
Thanks
P.S.
The handler looks like this, but it is never called for fastForward, so I don’t think it really matters
local function event_handler_media_playback_set(driver, device, event)
local cap = st_capabilities.mediaPlayback
local ev = event.command == cap.commands.play.NAME and cap.playbackStatus.playing() or
event.command == cap.commands.pause.NAME and cap.playbackStatus.paused() or
event.command == cap.commands.stop.NAME and cap.playbackStatus.stopped() or
event.command == cap.commands.fastForward.NAME and cap.playbackStatus.fastForwarding() or
event.command == cap.commands.rewind.NAME and cap.playbackStatus.rewinding()
device:emit_event(ev)
end