Skip to main content

BDJ Debug Output for Development...

2 replies [Last post]
Joined: 2012-12-12

I'm attempting to create a development environment for BDJ work on my computer, but have run into an issue with debugging. I cannot get any of the software players to output BDJ debug output. I'm attempting a simple System.err.println, but I'm not seeing the output.

I've read the various suggestions regarding enabling BDJ debug output on software players, but as of yet I have not been able to make them work. Here is what I have tried:

PowerDVD9 & PowerDVD10 (OEM versions)
1. Add registry key:
HKLM\SOFTWARE\Cyberlink\PowerDVD\BDJDebugLog DWORD 0x1
(mine was actually in Wow6432Node)
2. Ran my BDJ app from disc (PDVD9&10 do not allow play from folders apparently)
3. No javalog.txt file was created in the application install directory.
4. Attempted to connect to remote debug port; port not open.

Total Media Theater 5
1. Create the file "jvmoption_CVM.cfg" inside the "BDJ" directory and add the contents:
2. Run DebugView
3. Launch TMT on my disc folder and it runs, but DebugView logs no BDJ output.
4. Attempted to connect to remote debug port; port not open.

1. Will play neither my BD folder nor the burned disc

1. Free trial won't play Bluray content

I've also attempted to contact Arcsoft and Cyberlink regarding "debug enabled" or "developer" versions of their players that log BDJ output, but have not heard back. Corel (WinDVD) scared me off by saying only authorized studios would get their developer version.

Without being a major BDJ studio, how does one go about debugging BDJ code? I have a simple chunk of code that should play a video from a playlist, but I suspect it is throwing an exception. Without BDJ output logging, I cannot tell if this assumption is correct and what the exception might be. Any suggestions on this? Thanks!


Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2004-02-13

Hi Micah,

I don't know about coaxing debug output from the various s/w players. I think that sort of thing has tightened up since the format was launched, basically in an attempt to make piracy more difficult.

When I was doing BD-J development, I did most of it with a BD-RE burner and a hardware player. If you don't have a burner but can get your hands on one to burn a single disc, then there's a thing called the "bridgehead xlet" that will download a disc image to your player's flash memory, and play it from there. That's a bit more work, but it's pretty fast and works well.

Before buying a hardware player, bring a BD-RE disc that you know works with you into the store, and make sure it plays. All players *should* play BD-REs AFAIK, but I think that some don't. Also, you'll want to make sure that they have a menu option to grant you network connecting privileges.

Anyway, with either a (working!) s/w player or a h/w player, I just about always got my debug output using app-level code. That code opens up a server socket on the player, which lets one connect to it using telnet from a PC on the same LAN. Look around for the non-debug implementation of com.hdcookbook.grin.util.Debug the HD Cookbook open-source project -- the public API for the debug class is at



Joined: 2012-12-12

Wow, Hi Bill. I've enjoyed reading your book and learning from it. My wife bought me the book last Christmas and I've just now found some time to dig into it.

I've managed to download and build GRIN. I've also been able to build the HDCookBook BluRay disc and play it via Total Media. So, I believe I've managed to build GRIN correctly. I have another issue now, but I'll post a new thread so as not to confuse this one.

Hopefully I can get the server socket running in my BDJ app for debug output. I'll post an update here once I've done that.

For future sojourners, I'm using the following:

1. NetBeans 7.2.1
2. hdcookbook svn - trunk - revision 663
3. NetBeans BDJ Project Plugin - (Thanks Chihiro!)
4. Total Media Theater 5


I've finally managed to integrate the GrinXlet DebugLog facility into my BDJ application. One particularly sticky point when trying to make this work is making sure you request the correct network permissions for your Xlet. By default, my permissions file was only asking for "connect" privileges. Instead, make sure your BDJ permission file is requesting "listen,resolve,accept". I worked several hours to figure this particular point out.

At this point I think I'm well on my way to "debugging" BDJ applications. Thanks again Bill and Chihiro!