Skip to main content

Player events

1 reply [Last post]
hooligancat
Offline
Joined: 2009-10-20
Points: 0

I am having some trouble getting the timing correct for redrawing to the screen.

The scenario is:

There are multiple video clips in a playlist, each playitem has a playlistmark (type LINK) at frame 0 of the playitem. The playitems are video clips and have associated content to be drawn over them. I only want to draw these items to the screen when the video has started to be presented on screen (ie a sync on the video). The problem is that all the events I have tried all fire too early on the PS3. TMT is perfectly timed.

The events i have tried are:
playItemReached
markReached
StartEvent
RateChangeEvent
MediaPresentedEvent

All of them fire before the first frame of the video has reached the TV. According to the docs, MediaPresentedEvent should only fire when the video has been physically presented.
Because of this, the buttons I am drawing appear on the TV before the first frame of video does.
I also tried running a background thread that polls the Player 30fps, to test for a new media position. When the media position was reported greater than the start frame, a redraw was done. Again, the redraw was too early.

It almost seems like the events are triggered when the video frame enters the buffer, before it actually gets flushed to the screen.

NB A different Sony BD player doesn't seem to exhibit these issues; only the PS3.

Please offer any thoughts on this.

Many thanks

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
bd_j_author67
Offline
Joined: 2009-04-16
Points: 0

For this try Player.getMediaNanoseconds().

good luck
bdj author