Skip to main content

Playback control and notification

6 replies [Last post]
mico88
Offline
Joined: 2008-01-24

Hello,

is there any possibility how to control speed of video playback? Can I use setRate method of Player for this? To pause playback can I use Player.setRate(0.0) for example? How can I be notified that playback speed has been changed? Playback was paused by RC for example. Listening for ControllerEvent - RateChangedEvent does'n work for me.

Thanks,

~mirek

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joe Rice

>
>> Do you remember if there's at least a system property to tell you
>> whether or not the event is generated? I want to
>> remember that there was, but that might be wishful retroactive
>> thinking.
>
> Good memory. It's one of those many optional events that are
> supported only on players which report true for the
> bluray.event.extension property.
>

Sheesh, I keep doing it! I should say "It's one of those many optional
events that are only _required_ to be supported on players..."

Cheers,
Joe

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net

mico88
Offline
Joined: 2008-01-24

Thank you for clarification. I understand now why controlling of pause/play from popup menu of BD title is not seen as often as was on HDDVD titles. But honestly, why to do it if every RC can do it easily.

Have a nice holidays

~mirek

Joe Rice

You can set rate, but only 0.0 and 1.0 are supported in BD-J (See
table G-6 in part 3-2 of the spec).

RateChangedEvent being thrown as a result of a pause UO is optional.
See 11.4.3.2 of part 3-2 of the spec.

Cheers,
Joe

On Mar 22, 2008, at 3:06 PM, bd-j-dev@mobileandembedded.org wrote:

> Hello,
>
> is there any possibility how to control speed of video playback? Can
> I use setRate method of Player for this? To pause playback can I use
> Player.setRate(0.0) for example? How can I be notified that playback
> speed has been changed? Playback was paused by RC for example.
> Listening for ControllerEvent - RateChangedEvent does'n work for me.
>
> Thanks,
>
> ~mirek
> [Message sent by forum member 'mico88' (mico88)]
>
> http://forums.java.net/jive/thread.jspa?messageID=265329
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
> For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net

Bill Foote

Joe Rice wrote:
> You can set rate, but only 0.0 and 1.0 are supported in BD-J (See table
> G-6 in part 3-2 of the spec).

Slight correction: Only 0.0 and 1.0 are guaranteed to be supported.
Other rates (like 2.0 and 16.0 and maybe 0.5 or 0.25) may be supported too,
but there's no guarantee.

Have you tired out other rates, Joe? Or anyone else? My expectation
is that implementers would support a few rates for FF, REW and slow-play,
but that the actual rates supported would vary pretty widely by player.
In practice, it's of course possible that implementers would lock out
accessing some possible rates from BD-J -- I hope they didn't do that,
but I haven't tested the pragmatic reality, either.

> RateChangedEvent being thrown as a result of a pause UO is optional. See
> 11.4.3.2 of part 3-2 of the spec.

Sigh - I remember something about this. Is this the one where you
end up having to poll? Do you remember if there's at least a system
property to tell you whether or not the event is generated? I want to
remember that there was, but that might be wishful retroactive thinking.

Bill

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net

Joe Rice

On Mar 22, 2008, at 5:16 PM, Bill Foote wrote:

> Joe Rice wrote:
>> You can set rate, but only 0.0 and 1.0 are supported in BD-J (See
>> table G-6 in part 3-2 of the spec).
>
>
> Slight correction: Only 0.0 and 1.0 are guaranteed to be supported.
> Other rates (like 2.0 and 16.0 and maybe 0.5 or 0.25) may be
> supported too,
> but there's no guarantee.

True, true. The cynic in me must've just figured if it's not
guaranteed to be supported, most players won't support it. ;)

> Have you tired out other rates, Joe?

Tired out? All the cheap ones!

Erm, no, I haven't used anything other than 0.0 and 1.0.

(Note that setting a rate of 0.0 will often cause a player's OSD to
indicate the video is pausing.)
>
>> RateChangedEvent being thrown as a result of a pause UO is
>> optional. See 11.4.3.2 of part 3-2 of the spec.
>
>
> Sigh - I remember something about this. Is this the one where you
> end up having to poll?

Well, you could always indicate interest in VK_PAUSE in the BDJO and
run your own pause method. That may be more elegant than polling, and
you can do stuff like put up a message saying that the best part is
coming up and you don't _really_ want to pause, do you?

> Do you remember if there's at least a system property to tell you
> whether or not the event is generated? I want to
> remember that there was, but that might be wishful retroactive
> thinking.

Good memory. It's one of those many optional events that are supported
only on players which report true for the bluray.event.extension
property.

Cheers,
Joe

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net

Bill Foote

Joe Rice wrote:

>> Sigh - I remember something about this. Is this the one where you
>> end up having to poll?
>
> Well, you could always indicate interest in VK_PAUSE in the BDJO and run
> your own pause method. That may be more elegant than polling, and you
> can do stuff like put up a message saying that the best part is coming
> up and you don't _really_ want to pause, do you?

Good point. I was thinking more of the case where you want
to notice FF, REW and slow motion.

Of course, polling is an awful thing to do, but hopefully
the population of players that don't have the "I do events
properly" property set ("bluray.event.extension") will be
small in practice. Still, if you're making discs that need
to play on all players, one must code correctly for even,
uh, compromised player implementations.

Bill

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net