Pass precise position timestamp within PlayerEvent#460
Conversation
| SeekData(u64, SeekLock), | ||
| /// The player has performed a seek to the given offset. | ||
| SeekDone(u64), | ||
| SeekDone(f64), |
There was a problem hiding this comment.
These two types should probably be kept in sync?
There was a problem hiding this comment.
Actually no, for SeekData offset in bytes (ServoSource), while for SeekDone in seconds (GstPlay)
There was a problem hiding this comment.
Oh I see. Probably a good idea to document that so the next person is not as confused as me :)
There was a problem hiding this comment.
Makes all sense to me otherwise, I'd just document the units of all those integers (or use proper types for that)
There was a problem hiding this comment.
Done. Please take a look
Align the `PlayerEvent::PositionChanged/SeekDone` events to support precise position timestamps (u64 -> f64). Also set precise HTMLMediaElement `duration` value (seconds with fractional part) from metadata `duration`. servo-media: - Pass precise position timestamp within PlayerEvent (servo/media#460) Testing: No expected changes in test results Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
The following `PlayerEvent::PositionChanged/SeekDone` events should contains the precise position timestamps to pass them to back to client, otherwise there are no possibility to identify timestamp changes between two `PositionChanged` events on the client side. gst (5.104499333) -> servo (5) gst (5.153333333) -> servo (5) Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
abeb3b3 to
7e02bd4
Compare
|
Actually I'll wait to merge until the Servo PR is ready. |
|
The servo PR is ready (I marked it as draft until media PR will be merged). |
One usually patch a dependency to point to the open pr branch, to confirm everything is fine from the Servo side. |
Thanks for information (never did it with cargo + github) |
Updated the `PlayerEvent::PositionChanged/SeekDone` events to support precise position timestamps (u64 -> f64). Also set precise time value (seconds with fractional part) for the HTMLMediaElement `duration` from media metadata to sync with `PlayerEvent` changes. servo-media: - Pass precise position timestamp within PlayerEvent (servo/media#460) Testing: No expected changes in test results Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
|
@jdm < Linux WPT results with this servo-media PR (servo/servo#40563 (comment)) Patched |
Updated the `PlayerEvent::PositionChanged/SeekDone` events to support precise position timestamps (u64 -> f64). Also set precise time value (seconds with fractional part) for the HTMLMediaElement `duration` from media metadata to sync with `PlayerEvent` changes. servo-media: - Pass precise position timestamp within PlayerEvent (servo/media#460) Testing: No expected changes in test results Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
Updated the `PlayerEvent::PositionChanged/SeekDone` events to support
precise position timestamps (u64 -> f64).
Also set precise time value (seconds with fractional part) for the
HTMLMediaElement `duration` from media metadata to sync with
`PlayerEvent` changes.
servo-media:
- Pass precise position timestamp within PlayerEvent
(servo/media#460)
Testing: No expected changes in test results
Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
Updated the `PlayerEvent::PositionChanged/SeekDone` events to support
precise position timestamps (u64 -> f64).
Also set precise time value (seconds with fractional part) for the
HTMLMediaElement `duration` from media metadata to sync with
`PlayerEvent` changes.
servo-media:
- Pass precise position timestamp within PlayerEvent
(servo/media#460)
Testing: No expected changes in test results
Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
Buffered ranges from the gstreamer backend must contain the precise position timestamps (not rounded to the nearest second). Continuation servo#460 Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
Buffered ranges from the gstreamer backend must contain the precise position timestamps (not rounded to the nearest second). Continuation #460 Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
The following
PlayerEvent::PositionChanged/SeekDoneevents should contains the precise position timestamps to pass them to back to client, otherwise there are no possibility to identify timestamp changes between twoPositionChangedevents on the client side.gst (5.104499333) -> servo (5)
gst (5.153333333) -> servo (5)