Why Won't My Movie Disc Restart Where I Stopped It? OR, A Steaming Mug of BD Java!

Cup of Java.jpg

One of the biggest, conceptual changes introduced with Blu-ray discs (and continued with UHD Blu-ray discs) was the idea the Studio could include computer program code -- software -- ON the disc, which would load and run whenever you played that disc, and which would CONTROL that playback.  No longer would disc playback be strictly limited to the "user interface" features implemented by each, different, Blu-ray player!  So long as the player could run the on-disc software, the DISC could invent its OWN user interface!  There was nothing like this for prior, SD-DVD discs.

This on-disc software would be written in a variant of the Java programming language to be called "BD-J" (Blu-ray Disc Java).  The expectations for how Studios would use BD Java were truly grand -- to begin with.  All sorts of fancy features were proposed to "enhance" the customer value of these discs.  The actual result has been rather a mixed bag.  In particular, some Studios seem to be most keen on how BD Java can be used to make a disc really difficult to copy -- something which has NOTHING to do with the customer’s experience.

In this post I'll talk about BD Java, and how it relates to the perennial complaint: My disc player won't let me do Resume Play on my movie!

The public face of BD Java was found in Marketing campaigns for "Bonus View" and "BD Live" -- two highly touted features of the upcoming Blu-ray players.  Bonus View was a combination of features which included support for more interactive menus (both before Feature playback was started, and during playback), different ways of bringing graphics up on the screen, and "Picture-in-Picture" graphics which could overlay the main video image with a second, smaller video clip, complete with its own audio.  BD Live added the ability for the disc's BD Java program to go out over the Internet to fetch additional content from Studio servers.  This might be video clips -- such as the latest trailers for new movies; trailers which did not exist back when the disc itself was authored -- or even updated code for the disc's own BD Java program.  All of these features could also take advantage of memory storage in the player which would persist even when the disc was removed (so it would still be there for future playing sessions with that disc) and even when the player was turned Off.

TECHNICAL NOTE:  Sometimes a disc will announce it is "Looking for an Update", or "Loading an Update".  This, quite reasonably, gets people worried the disc might be changing their player in some way -- such as installing new firmware in their player!  Blu-ray discs -- even discs authored with BD Java -- do not have the ability to alter the player or its firmware.  The "Update" mentioned in the message only has to do with content specific to the playback of THAT disc -- content, from the Studio, which is newer than when the disc was authored.

So, for example, the first time you played a disc it might download new preview trailers from the Studio's server and play them for you.  These could be stashed in Persistent Storage.  If you wanted to play a trailer again -- perhaps in another session with that disc -- it could be played from Persistent Storage without having to download it again.  Persistent Storage was shared by all the Blu-ray discs you played, and steps were taken to keep the data for each disc separate, so that one disc could not mess up the playing features of another disc.

Persistent Storage could also be used for keeping track of on-disc games -- made possible by the enhanced, interactive menus and graphics support in BD Java.

The menus themselves could be pretty much as complex, colorful, and interactive as the Studios' imaginations could conceive.  One Bonus View feature, which allowed the "Secondary Audio" of a Picture-in-Picture video clip to be mixed on top of the audio playing simultaneously from the Feature video itself, was also made available to the menu programmers.  They could now author "menu sound effects":  Click a button somewhere in the disc's on-screen menu, or even navigate from one button to the next, and hear a sound.

All this added functionality came with some problems of course.  First of all, support for Bonus View and BD Live wasn't quite ready for the first generation of stand-alone Blu-ray players.  When it DID become available, Studios rushed to release discs which took advantage of it.

But these BD Java programs on the discs are SOFTWARE.  Which means they come with bugs!  Bugs which you can't readily fix after you've shipped a production run of discs to stores all around the world!  So the BD Java programs had to be tested BEFORE the discs were shipped.

And, umm, that didn't go so well.

First of all, user interface design can be tricky.  And this was an entirely new TYPE of content authoring for the Studios.  And of course the pressure to have each BD Java program ready in time for its disc's planned release date was pretty intense.  Meanwhile, Blu-ray players were new, and their implementations of the execution environment for BD Java programs were as yet untried.  The temptation for the Studios was to test their BD Java programs against only ONE Blu-ray player:  The Sony PS3.  The PS3 had been wildly successful as a games playing platform, of course, and with the addition of Blu-ray disc playback it became, instantly, the Blu-ray player with the LARGEST installed base -- by far!

There were some pretty comical examples of incompatibility between discs and players back then, and of user interface designs which left much to be desired.  Some player makers had to implement changes to match what they were convinced were BUGS in the PS3's handling of BD Java -- because the code on the discs relied on the PS3's way of doing things.

Universal Studios had the nifty idea of building a Screen Saver into their BD Java discs.  If you Paused the disc long enough, an animated Universal logo would replace the Paused movie image to help protect the TV screen.  The PROBLEM was, once that Screen Saver was triggered there was no, intuitive method to make it go away!  For example, Play button did not work.  Customers ended up unplugging their players to get out of it -- and then had to find their way back to where they had Paused the movie!

These were all teething pains, of course.  And as time has passed, the Studios and the player makers have gotten more adept at producing products which actually work together.  (Even Universal has fixed the problem in their Screen Saver for their newest discs.)

Largely this is due to the Studios backing off their early ambitions on what they'd try to do with BD Java programs.  They now have a set of authoring tools, and a set of user interface design guidelines, which are "known to work".  Which dramatically limits the variations player makers have to contend with!

EXCEPT, we are not quite done with the story.  One of the major fears of the Studios is that their valuable movie content will be pirated; that people will copy the content off original discs and sell bootleg discs.

It's a real problem!  Bootlegging of SD-DVD discs was rampant by the time Blu-ray discs emerged.  Indeed there are pirate outfits which operate like public businesses, complete with their own BRAND identity!  They would compete, for example, to add more interesting Extras content to their pirated discs -- even better than what could be found on the Studio originals!  You see they weren't just competing against the Studios; they were competing against each other!

The Blu-ray spec required a form of encryption for the disc content, intended to prevent this.  Alas, it was not sufficiently sophisticated.  Folks soon found how to break it.  (UHD Blu-ray discs have an even more sophisticated encryption system, which will likely suffer the same fate as time goes on -- despite designed in mechanisms to keep enhancing it for newer releases of discs.)

And so the Studios are constantly casting about for ADDITIONAL ways to make their discs hard to copy.  They have tried all sorts of things already, but one method currently in vogue is to simply make it very difficulty to figure out what ORDER the content gets played in as it comes off the disc!

The pieces that make up a movie on disc are collected in a "playlist".  Breaking the movie up into pieces like this allows useful functionality -- stuff that actually adds to the customer experience.  So, for example, you can have both the Theatrical Release and Extended Release versions of a movie on disc without actually having to take up the space to store both versions.  The playlist for the Extended Release version simply plays added scenes which the playlist for the Theatrical Release skips over.

And the Cunning Plan, you see, was to add FALSE playlists to the discs.  Lots and lots of false playlists.  There are discs out there right now with HUNDREDS of false playlists.

And only the BD Java program on the disc knows the correct way to thread through all those to play the movie as it is supposed to be played!

This has caused a new era of incompatibility between discs and players, as the Studios try ever more elaborate, "playback layout" tricks to confuse disc copying programs -- tricks which ALSO end up confusing the players just trying to play legally purchased discs CORRECTLY for their actual owners!

Which finally gets us to the original complaint at the start of this post:  "Why won't my movie disc restart where I stopped it?"

MOST disc players (not all, because it is an "optional" feature) have the ability to save where you've left off playing your most recent discs.  A typical player might have such memory for the most recent, five discs you've played, for example.

Come back to a disc later, and if it is one of those "most recent" discs the player can pick up playback where you left off.  Some players let you choose whether or not you want this to happen, or whether you ALWAYS want your discs to start over as if you were playing them for the first time.  See the Manual for your disc player.

Now, this works just peachy for SD-DVD discs, and even music discs like CDs.  It *EVEN* works for Blu-day discs which do *NOT* happen to have a BD Java program.

TECHNICAL NOTE:  In the early days of Blu-ray, it was fairly rare to find a disc with a BD Java program.  Nowadays it's rare to find one WITHOUT.  But it is still entirely up to the Studios today whether they include a BD Java program or not on any given, new disc.

However, if a Blu-ray, or UHD Blu-ray, disc *DOES* have a BD Java program, then the player is *NOT* able to do Resume Play.  The playback environment for the disc is created by that BD Java program.  And only that program can do things like recording where you left off in a previous session and restarting play from that same point in a later session.  The BD Java program can use Persistent Storage to record the necessary details, but it has to be written to do so.

That is, to get Resume Play from a BD Java disc, the BD Java program has to be written to IMPLEMENT that feature.

In the early days of BD Java, many discs were released WITHOUT Resume Play support.  Presumably it was simply not granted high enough priority, compared to implementing the more exotic menus and nifty features like Picture-in-Picture content.  It would also be just one more thing they'd have to test before the disc could be released.

Later, some Studios tried to make up for this by implementing an even more ELABORATE scheme called "Bookmarks".  The Bookmark user interface allowed the user to save MULTIPLE locations, and jump to any of them either during the current playing session or some later session.  The Bookmarks were, of course, stored in Persistent Storage.  But having gone to the effort of creating this entire scheme (including the ability to delete Bookmarks you no longer wanted), they left out the one crucial piece!  Your LAST location -- i.e., your location at the point you Stopped or Ejected the disc -- was not recorded automatically!  And so you had to remember to set a Bookmark *BEFORE* you Stopped the disc.

Nowadays, it's pretty common for a BD Java disc to include BOTH a Bookmarks feature -- after all, once you've invented that whole design you might as well glom it on to each new disc -- AND a Resume Play feature.

But not always.  And in fact it's becoming increasingly more common these days to find BD Java Blu-ray discs and UHD Blu-ray discs which do *NOT* implement Resume Play.

Why?  Well it could be lots of things, but my guess is the Studios have made their False Playlists so complex they can't figure out how to record the magic recipe for Resuming Play!  That is, how to wind your way through the maze of playlists is based on what path you've played UP TO that point.  So the info recorded on how to do Resume Play would need to elaborate all that.

The key takeaway from all of the above is this:  If you can't get Resume Play to work for one of your Blu-ray discs, it is (probably) not a player problem.  It is simply how the Studio has chosen to author that disc.

This of course begs the question whether a given disc you are interested in has been authored with BD Java or not.  Again, BD Java is only for Blu-ray discs -- including 3D Blu-ray discs and the new UHD (4K) Blu-ray discs.  So you will never find BD Java on an SD DVD disc or a music disc.

This info is NOT something that's typically found on the disc packaging.  However if the packaging touts a Bonus View feature, such as a Picture-in-Picture Commentary track, or a BD Live feature such as the ability to fetch Extras content over the Internet then you know this must be a BD Java disc.

For Blu-ray discs another good resource is the website Blu-rayStats.com.  I've linked you to their Blu-ray Statistics > Feature Stats page, which includes a Filter selection (upper right) for BD Java.  Select "Has BD Java" from that pull-down item, and then click on the "Filter" button just to the right below it.  The list of discs will now show only Blu-ray discs known to include BD Java.

Unfortunately, this database does not flag BD Java discs on whether or not they've implemented Resume Play.

If you already own a Blu-ray or UHD Blu-ray disc, and are curious whether or not it is authored using BD Java, it's usually pretty easy to figure it out.

Again, if the disc implements a Picture-in-Picture feature or a way to get any sort of content, including advertising content, from the Studio via the Internet, then it MUST be a BD Java disc.

In addition, if you have Secondary Audio Mixing enabled in your player and you happen to hear any menu sound effects while navigating the disc's menus then, again, it must be a BD Java disc.

And if the disc DOES implement Resume Play, but doesn't do so until after it has loaded its menus, then again, it must be a BD Java disc.

But the hint that's usually easiest to spot is whether the disc puts up some sort of "progress bar" animation as the VERY first thing it displays once you launch the disc:  Even before the disc menus are shown, or any animated Studio logos, or any "Don't Copy This Disc" Warning slides.  This animation shows the progress of loading the BD Java program itself off the disc, and will only appear when playing a BD Java disc.

Now the knowledge that a given disc you are playing happens to be authored using BD Java won't really give you any additional power.  That is, there's no way to bypass the BD Java or escape its control over the disc's playback.  But once you realize the Studio has gone to the effort of authoring a BD Java program for the disc, it can be fun to explore just what they've included!

For example, their may be alternate "viewing modes" for the disc -- such as accessing the Picture-in-Picture video clips I've mentioned several times.  The graphics for things like subtitles and even what shows when you Pause the disc or jump between Chapters can be quite a bit more elaborate.

BD Java also makes it possible for the Studio to hide even more elaborate "Easter Eggs" on the disc -- special content which will only show if you learn the trick of getting to it.  These things tend to get written up on the Internet once they are discovered on a given disc.

Also be aware that popular movie titles are frequently issued in multiple versions with different authoring.  For example, some discs may include certain Extras content only if you buy the version made for a particular retailer (e.g., Best Buy or Target).

One very common thing along these lines is for the Studios to produce "Rental Special" versions of their discs -- specifically intended to be offered for Rental via outfits like Netflix.  Typically these include less (or even NO) Extras content, and may be limited in other ways as well, such as by not including the best version of the Feature's audio track.  Universal Studios has taken a particularly annoying approach to this:  Including all the elaborate menus to access Extras content, but, when you finally get to selecting an Extra to play, putting up a message saying this Extra is only available on a Retail disc!

And SOMETIMES the Rental Special version of a disc does *NOT* include BD Java even though BD Java is part of the normal, Retail disc!  Which means you might find Resume Play works on a Rental copy of a movie even though it doesn't work on the Retail version!

If all this makes you feel a bit like Forrest Gump -- "You never know what you're gonna get." -- there's nothing for it but to kick back and grin!  Such is life in the mysterious world of BD Java!