Skip to main content

How to make a BD-J player/simulator?

4 replies [Last post]
szmarine
Offline
Joined: 2008-06-13
Points: 0

Hi Gents,

This forum seems focused more on the authoring side of BD-J. So I'm not sure whether this is a good question here:

My question:
What work need to be done to construct a software BD-J player or simulator?

I'm not intend to write a BD-J player or simulator, but I think knowledge of the player/simulator side should be helpful to understand the whole thing.

Looks like a huge question, so pieces of ideas are also appreciated, thanks.

Message was edited by: szmarine

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
dbreitenfeld
Offline
Joined: 2007-03-18
Points: 0

Hi Szmarine,

If you are looking at building just the BD-J side of the simulator without video and without Security then that is pretty straight forward for any senior development team. Here is what you need.

1. A good understanding of the class loader.
2. Implement BD-J interfaces
3. Create your own base framework that extends/implements graphics and BD-J classes.

We've built one here that only implements the necessary files that are used in our application. However we didn't find it a good way to learn BD-J we built it for debugging purposes before the soft-players had a debugger. A good way to learn BD-J is to read an old AWT book and build a menu using AWT and your own fake player events. Most applications written today are really just AWT application with some hooks into the BD-J classes.

Good luck!

Denny B.
---------------------------------------------------------------------------------------------------------------------------------------
[i]NetBlender DoStudio Blu-ray Team | http://dostudio.netblender.com | http://www.clearblu.org [/i]

szmarine
Offline
Joined: 2008-06-13
Points: 0

Hi Denny,

Thanks for the reply. I think your comment on the AWT meets what is said in the HDCookbook, where PBP is considered the most important part in BD-J specs. Hmm.. It looks like I need to cease my reading for a while, and setup the working environment for AWT taste :)

Can you explain further on 2&3:
a) By 'BD-J interfaces' and "BD-J classes", do you mean BD-J extension to GEM or everything? Because
b) I guess some foundation things may need to be licensed from Sun, like CVM, maybe along with FP/PBP in the BD-J stack? How about APIs in other specs? How to determine that something must be implemented by oneself or have to be licensed from other company?
c) I have no idea what "base framework" would look like. For an example?

Thanks.

dbreitenfeld
Offline
Joined: 2007-03-18
Points: 0

Hi Szmarine,

I should clarify that our simulator is 1/5 of the full implementation and isn't a commercial product but an internal debugging tool.

I'll start with number 2. The implementation of interfaces. An example of this would be creating your implementation of javax.media.Player, your own BDLocator object, any of the media control objects you might want to interface with, the XletContext, etc. These implementations also need to be part of the "Base framework".

In our case our base framework is a Swing application, with a light weight Xlet Container (similar to a Servlet Container actually), and dummy media player that sends events based on specific times.

I hope this helps!

Denny B.
---------------------------------------------------------------------------------------------------------------------------------------
[i]NetBlender DoStudio Blu-ray Team | http://dostudio.netblender.com | http://www.clearblu.org [/i]

szmarine
Offline
Joined: 2008-06-13
Points: 0

Hi Denny,

Thanks for this further clarification.

I believe I need more experiment to fully understand your words.

Learning BD-J is not supposed to be a easy work, especially to a fresh Java guy. But it's lucky and great to have experienced guys like you help in this place. Much appriciated!