The FramePositioningControl is the interface to control
precise positioning to a video frame for Players .
Frame numbers for a bounded movie must be non-negative
and should generally begin with 0,
corresponding to media time 0. Each video frame of a movie
must have a unique frame number that is one bigger than the
previous frame.
There is a direct mapping between the frame number and the media
time of a video frame; although not all Players can
compute that relationship. For Players that can
compute that relationship, the mapFrameToTime and
mapTimeToFrame methods can be used.
When a Player is seeked or skipped to a new video frame,
the media time of the Player will be changed to the
media time of the corresponding video frame.
As much as possible, the methods in this interface should
provide frame-level accuracy with a plus-or-minus-one-frame
margin of error to accommodate for round-off errors.
However, if the content has inaccurate frame positioning
information, implementations may not be able to provide
the necessary frame-level accuracy. For instance, some
media content may contain wrong time-stamps or have missing
frames. In any case, the results of each
operation should represent the best effort. For the
seek and skip methods, the returned
value should indicate the actual new location or the number
of frames skipped. |