BAPS3 Specification

Feature: Seek

Provides the seek request, for changing the audio position.

Dependencies

The audio handled by servers implementing Seek should be seekable. Seek provides no means of handling or detecting unseekable audio, except returning failure from a seek request.

Conflicts

Seek may conflict with other seeking features.

Requests

seek — change position

Synopsis

seek <MICROS>

Description

Seeks the currently playing audio to MICROS microseconds. MICROS must be a non-negative integer for the seek request to be considered valid.

The position after seek should be the closest possible position to MICROS. If the position is past the end of audio, the server should behave as if the audio had ended of its own accord.

The new position may be reported, for example via the TIME response, but this is outside the scope of this feature.

Resources

/player

Resource group for player-related resources. Behaves as a simple composite resource. If defined in other features, treat as if singly defined.

/player/position

The current position within the audio.

GET

Unless defined otherwise in other implemented features, the server must respond to GET with the nil payload.

PUT

Given an integral payload, this should behave as equivalent to the seek Internal API request with the given integer as the new microsecond position.

Given the nil payload, this should behave as if 0 was supplied.

Other payloads, including string representations of numbers, should be rejected.

DELETE

As PUT with the nil payload.