Welcome to MSDN Blogs Sign in | Join | Help
SYMPTONS
When creating a new Silverlight project or opening an existing Silverlight project, you receive an error message:

Object reference not set to an instance of an object

 or

Package Load Failure



CAUSE
Visual Studio failed to load the dlls required by Silverlight Tools.


RESOLUTION
To resolve this issue, from a command prompt, run "devenv /resetskippkgs"
(i.e. "Folder Path\Common7\IDE\devenv.exe" /resetskippkgs)

 

Today, Visual Studio 2008 Service Pack 1 was released.  This service pack includes support for SQL Server 2008, new ADO.NET features such as the Entity Framework, improvements to the WPF designers, WCF templates for Silverlight projects, debugger support for the .NET Framework public symbols and source release, control improvements such as the DataRepeater for Windows Forms and Office 2007 Ribbons for C++, and several general updates for debugging and IntelliSense. SP1 also enhances the stability, performance, and security of many features.

If you previously had Silverlight Tools Beta 2 installed, after installing SP1, if you open or create a Silverlight project, a dialog will open stating:  Microsoft Silverlight Tools is unable to open the project due to a missing patch for Visual Studio. Please download the latest update from: http://go.microsoft.com/fwlink/?LinkID=120032.

An updated patch that works with Visual Studio SP1 is included in the Silverlight Tools install at http://go.microsoft.com/fwlink/?LinkID=120032.  Once installed, Visual Studio will once again be able to open and create Silverlight projects.

UPDATED: Some users have experienced issues with downloading a cached version of the tools installer.  The download should be signed on 8/1/2008 and should install KB955214.  I am currently working with our download center to resolve the caching issue.  In the meantime, the correct version of the installer is available here (as with any .exe you download from the Internet, verify that it was digitally signed by a trusted source before installing).  If you continue to see this dialog after the update, please contact me

Note For Non-English Users of Silverlight Tools

An updated version of Silverlight Tools available in 8 additional laguages will be published shortly following the English release.  Before installing Visual Studio 2008 SP1, please visit http://go.microsoft.com/fwlink/?LinkID=120032 to confirm that an update for Silverlight Tools is available in your language.


What's Different About This Silverlight Tools Installer?

This installer has been updated to include a new patch that works specifically with the final version of SP1.  Previously, the installer had worked with SP1 Beta.  SP1 Beta is no longer supported by Silverlight Tools. 

Silverlight Tools Beta 2 currently supports Visual Studio 2008 (Standard or higher) RTM and Visual Studio 2008 (Standard or higher) SP1.  The final version of Silverlight Tools will support Visual Studio 2008 SP1 - Express, Standard, Professional, and Team System. 


What Other Issues Might I Encounter with VS 2008 SP1 and Silverlight Tools?

SP1 will not install if you currently have Silverlight Tools Beta 1 installed (instead of Silverlight Tools Beta 2).  For help or more information on removing Silverlight Tools Beta 1, visit: http://blogs.msdn.com/webdevtools/archive/2008/05/12/error-installing-visual-studio-2008-sp1-beta-and-silverlight-tools-beta-1.aspx 

Neither SP1 nor Silverlight Tools will install if previous installations (especially VS 2008 SP1 Beta and Silverlight Tools Beta 1) have resulted in incompatible DLLs.  For more information on this, visit: http://silverlight.net/GetStarted/SP1InstallInfo/ 

The updated installer for Silverlight Tools will not install on Visual Studio SP1 Beta or RC.  You must upgrade to the final version of Visual Studio 2008 SP1 before updating Silverlight Tools.  Visual Studio SP1 can be downloaded at: http://go.microsoft.com/fwlink/?LinkId=122094.

Silverlight Tools is available in 9 languages (English, Japanese, Spanish, French, German, Italian, Korean, Chinese - simplified, and Chinese-traditional).  The language version you select for Silverlight Tools must match the language of your Visual Studio installation.  All language versions for Silverlight Tools can be found at http://go.microsoft.com/fwlink/?LinkId=120319.

One of my favorite HDi apps was blackjack, so I have been just itching to turn it into a Silverlight application.  Now, this one wasn't quite so easy.  My goal in writing blackjack for HDi originally was to take advantage of the timing element and remove as many references to style as possible from the script.  So, in turning this into a Silverlight app, I found myself putting a lot of markup references back into the script.  When the application first starts and a reference to the container is first obtained, all required UI references are cached in the UI object in blackjack.js.

The original application assumed a high definition screen resolution of 1920x1080.  And, while many of you might have this resolution or better, it is not the majority.  One of the challenges of web development is making sure your application works on a variety of platforms and browsers.  Of course using the Silverlight solves a lot of these problems for you.  But you still need to be considerate of screen resolutions.  As of January 2008, 86% of internet users had a screen resolution of 1024x768 or higher.  With that in mind, I reduced the width of my application to 1024 pixels and shrunk the other assets accordingly.

One of the things I kept in this application was the debug trace script and exception handling.  You could of course rely on Internet Explorer script debugging if you would like.  But, personally, I'm not a fan of those error alerts and I like having them neatly displayed on the page.

It seemed much more appropriate to enable the mouse for this game rather than navigating buttons using the arrow keys.  You'll notice that the buttons have events for MouseLeftButtonDown (clicking), MouseEnter (mousing over), and MouseLeave (mousing out).

This version does not have any animations, which in all honesty makes it rather lame as you could just as easily turn this into an DHTML/JavaScript app.  But, I'm working on adding the storyboards and fancy animations which hopefully will be ready for posting soon!

Launch Blackjack

Launch Blackjack

If you're an HDi developer who spends anytime reading this blog or the MSDN forum, you've probably noticed that I've mentioned Silverlight more than a couple of times recently.  Silverlight is, of course, Microsoft's platform for delivering rich interactive applications and media experiences for the web.  The final presentation to the user is somewhat similar to Flash, but the development experience is much more focused on allowing designers work like designers, developers work like developers, and to collaborate more effectively.  Silverlight is based off of the Windows Presentation Foundation (WPF) which is a graphics API for Windows applications and was originally called WPF/E (/E = everywhere).

Like HDi, the presentation layer of Silverlight is markup.  Silverlight's markup is called XAML which stands for eXtensible Application Markup Language and is pronounced xammel (rhymes with camel).  Silverlight 1.0 uses JavaScript.  Silverlight 2.0 is currently in beta 1 and also allows you to use managed .NET framework code (like C# or VB).  The final version of Silverlight 2.0 should be released by the end of the year.

Because of the similaries between Silverlight 1.0 and HDi, I thought the most logical thing for me to do was to turn one of my HDi samples into a Silverlight application.  One of the very first HDi samples I published on this blog was a sliding puzzle, so I thought it fitting to make it my first Silverlight application.


(click on the picture to see the project)

Some adjustments needed to be made, of course.  HDi allowed for screen capture, but Silverlight doesn't (to the best of my knowledge).  So I took out all the screen capture code and hard coded an image.  Silverlight 1.0 doesn't have templating (2.0 does, though), so the XAML nodes are all hard coded.  The XAML can be modified on the fly with script, so that approach is an option.  Though, I wanted to stay as true to the original script file as possible, so I didn't add that.

To modify the markup in HDi, you'd call node.style.setProperty, but in Silverlight, the correct call is node.setValue.  And while you would call animateProperty or using a timing block in the markup in HDi, animation is done in Silverlight using storyboards which are declared in the XAML.

And, again, in keeping with the original script, this puzzle uses up/down/left/right buttons just like the HDi version.   This puzzle could be updated to support a mouse.

My attempt at a Silverlight 1.0 version of the sliding puzzle is attached at the end of this blog.  Warning! This is my first real Silverlight app, so from what I can tell, it works.  I can't say whether or not this is the best way to implement such a puzzle with Silverlight.  But here it is for your review.

A brief overview of what you'll find in this project....

  • Default.html launches the puzzle.  The shell of ths file was generated for me by Blend.  There is JavaScript in this file which calls a function in Silverlght.js to create the Silverlight object in the HTML. 
  • Silverlight.js is part of the SDK.  I made no modifications to this file.
  • Page.xaml is the markup file with all the UI elements
  • Page.xaml.js was generated by Blend.  Most of the code for Page.xaml should go in here, but because I already had the code in another file, I just added hooks in here for my key event listener.
  • Main.js is where all my puzzle code is

If you're ready to start doing Silverlight development, there are a couple of tools you will need.  First, download the Expressions Blend 2.5 March Preview.  If you're a Visual Studio user, you should also download the Silverlight Tools for Visual Studio 2008 (includes the runtime and SDK).  You can alternatively download the Silverlight SDK and samples separately from the VS tool.

I'm going to continue working on converting some HDi projects I have to Silverlight 1.0 and then 2.0 and hope to post those projects here in the near future.  In the meantime, If you're interested in playing around with some Silverlight samples (1.0 and 2.0), check out http://silverlight.net/Learn/

Today is my one-year anniversary at Microsoft.  There have been a lot of changes for me in the last year and I've learned a lot.  So I thought I would be reflective and share some my experiences, observations, and thoughts of the past year here.

Okay, it's true, there are a lot of guys here - slightly more men than women from what I've observed.  But all in all, Microsoft is a very diverse place.  As you walk through the halls or cafeteria, you'll hear several different languages being spoken and see such a wide range of types of people.  It's kind of like being at a gathering of the Galatic Senate in Star Wars (or Starfleet for you Trekkies.)  It is both amazing and humbling to work at a place that attracts some of the smartest people from all over the world.

Microsofies (that's what we're called, apparently) use our competitors' products - openly and proudly.   I know a bunch of people who have iPhones - and all the internets that go along with it.  People here use FireFox and Macs.  And, to be honest, Google seems to index this blog a heck of a lot faster than Live Search does.  And, it turns out it's more than okay to use and like our competitors' products.  The attitude seems to be that "I'll use the Microsoft version when Microsoft makes the better version."

Of course, we do use our own products - and complain loudly about them when they don't work like we want them to.  Last night I had dinner with friends and we tried to come up with a Microsoft product that didn't get picked on internally.  The winners were OneNote and Notepad.  Those of my friends who don't have an iPhone have smart phones running Windows Mobile.  And, for all the great features of the phone that make me more productive and on-schedule, the thing that sticks out most in my head is that phantom alarm bug! (largely because it has woken me up early the past two days).  I really love the new Zune hardware and firmware, but internally users are up in arms at the fact that it lacks clock. (And, no, it isn't going to get one any time soon).

The complaining is largely because we want Microsoft to have the best products.  There distribution lists (DLs) that we can join for just about every product available and discuss what works and what doesn't work - even (or especially) if you aren't on that product team.  Also, there's this term here called "dogfooding" which means using our own products before they are released to the world as a beta or CTP (community technology preview).  Of course, sometimes dogfooding is just as good as it sounds (I'm talking about you, IE8!).  The whole point of this of course is to release the best products that we can.

Yes, I have managed to get outside the walls of Microsoft since I moved here a year ago and I think I might be becoming an actual Seattleite.  I've made some really great friends here, despite the famed Seattle Freeze.  I've learned to snowboard and love it.  I've learned to appreciate beer.  I can drink lattes without sugar now.  I'm now an REI member.  I have played Xbox and have my very own gamertag.  And, it took a really long time, but eventually I did obtain both a Washington license plate and driver's license.

When I started this blog a year ago, I had no readers.  Last month, it got more than 49,000 hits (okay, usually it averages somewhere around 20,000 but then I went and mentioned the great emulator give-away of 2008).  It's been an interesting year.  Thanks for reading.  Stay tuned - maybe for more code examples, maybe for more musings.  Who knows.

Wow.  The Xbox 360 HD DVD emulator was WAY more popular than we had imagined.  Josh processed thousands of requests and hopefully a huge number of developers are now out there experimenting with interactivity.  But, now we have run out of our token allotment from the Xbox team and the emulator is no longer available for distribution.

But, Why Can't You Just Get MORE Tokens?
Remember how your dad told you money doesn't grow on trees?  Well, neither do Xbox tokens.  And, since we were charging all of $0 for the emulator, it's not exactly cost effective to obtain another batch.

But, I Want To Learn HDi!  What Do I Do Now?!
Fear not.  There are still other tools available to help you in your HDi development.  The Interactivity Jumpstart Kit with the HDi simulator is still available and is free.  The simulator can also be used with the Microsoft Script Debugger, which is a great way to step through your script and trace bugs.

Also, many of the software players out there like Cyberlink's PowerDVD will play both HDi and audio/video content from a hard drive and are available for about $100.  And, as an added bonus, you'll have a software player that will play that other blue laser optical disc format should you want to use that other format.  Personally, I'm not interested.  But some people might.

And, of course you can always burn an HD DVD or DVD-9 with your own content and play it on a retail player because HD DVD does not require AACS unlike the other blue laser optical disc format.

What Else Could/Should I Be Learning?
Well, if you're working for a Hollywood post house, you're probably looking into BD-J.  The problem there is that you have to be a Java developer (and a really good one too - ever used a poorly written java app or even one written by an average java developer?!), and the tools to test those apps aren't exactly cheap. 

But, how about Silverlight?! - The cross-browser, cross-platform, and cross-device plug-in for delivering the next generation of .NET based media experiences and rich interactivity.  And, as announced last week, Silverlight 1.0 will be available for mobile devices.   Silverlight 1.0 uses markup (XAML) and script (JScript) based similar to HDi.  You can write that script and markup in any tool you so desire (though, Expression Studio  and Visual Studio 2008 sure are nifty.).  If you're more of a designer type, check out the Expression tools to generate the files for you.  If you're more of a hardcore programmer type, check out Silverlight 2.0 Beta which supports C# and VB.

Happy Programming!

Any of you who made requests for the Xbox 360 HD DVD emulator last week should have received at least an initial email with further instructions on getting access to the emulator support site on http://connect.microsoft.com/, signing the end user licensing agreement (EULA), and obtaining the Xbox Live Marketplace token.

Remember, there is an actual live, breathing human being processing all these emails.  His name is Josh. He is moving as fast as he can.  We let him come out of his office late on Friday and let him go home for the weekend as long as he promised to come back Monday and keep working.  Luckily for all of you, he did come back.

So far, he's processed about 3000 (legitimate, non-spambot) requests.  ~800 people have accepted the EULA, and 413 Connect invitations have been sent out with ~400 to go.  Give Josh about a business day or two (M-F, 8a-5p, PST) to respond to any email you send.  FYI, I've heard a rumor that Josh has a script that moves emails to the bottom of the queue if he gets too many emails from a single address, so try to have a little patience.

This is roughly the way the process goes...

1) Go to http://www.thisishddvd.com/emulator/ request signup instructions

2) Go to http://connect.microsoft.com/

3) Click the "Sign In" button.  If you have a Windows Live ID (ie, a Microsoft Passport login, Hotmail account, MSN account, etc), login with this.  If you do not have a Windows Live ID, click the "Sign Up Now" and create one.  Your Windows Live ID can be any email address at which you would like to receive communications about this program.  (and, btw, Microsoft is hyper-sensitive about privacy and stuff so you won't get spammed - you will just receive info about this program if you opt-in).

4) Reply to the instruction email, and change the subject line to include the Windows Live ID that you selected.  For example, I would use: "MS CONNECT ID: amydullard@msn.com"

5) Josh will send you the end user licensing agreement (EULA)

6) Reply to the EULA email and change the subject line to "I Agree"

7) Josh will send you an invitation ID for http://connect.microsoft.com/ and an Xbox Live Marketplace token.

8) Go to https://connect.microsoft.com/invitationentry.aspx and enter the invitation ID.  This site is where you will download the PC software for logging, the user instructions (in the CHM file - READ IT!!  It has all the information you will need to get started), and best practices documentation, as well as find support articles on the emulator. 

9) On your Xbox 360, sign into Xbox LIVE.  Navigate to the Xbox LIVE Marketplace tab and select Redeem Code.   Enter your redemption token.  After successfully redeeming the pre-paid code, select "Yes" to download.

10) Get programming.

Okay, so it turns out that offering the emulator for free was WAY more popular than we had anticipated.  Josh (Xbox 360 HD DVD Emulator Support Program Manager) is just a tad bit buried under all the emails right now, so please be patient with the delay while he sorts through the requests.  (And please don't keep sending the email over and over again!  Seriously...poor Josh).

Some things that I assumed everyone knew based on my original post on the Xbox 360 HD DVD emulator...

You need an Xbox 360 with a hard drive.  The emulator is software that runs on the Xbox 360.  We are not giving away hardware.  The software will only run on the Xbox 360.  It will not run on a PC.  And it won't run on the Xbox 360 Arcade because it doesn't have a hard drive.

You need the Xbox 360 HD DVD add-on.  The software needed for HD DVD playback is on the add-on drive, so it is required to run the emulation software as well.  If you don't have one to go with your Xbox 360, you will need to purchase one to use the emulator.

This is a development and test tool.  If you're looking to make your own HD DVDs or play around with some HDi - have at it.  If you think this will allow you to playback ripped discs you have stored on a hard drive, it will not.  The emulator is a great tool for testing HD DVD projects.  If you're looking for something that will just playback content, use the Xbox 360 HD DVD add-on (which you would already have), or buy a Toshiba HD DVD player for under $100, or buy the Cyberlink PowerDVD player that will play that other media format as well.  Seriously, I think the emulator is great (Andy does good work), but it's not much fun outside the context of HD DVD development.


As I learn more on the status of releasing tokens, I will post more.  In the meantime, sit tight and be patient with Josh as he sorts this all out.

UPDATE 3/18: The Xbox 360 HD DVD Emulator is no longer available.  For more information, please see: http://blogs.msdn.com/amyd/archive/2008/03/18/tokens-gone.aspx 

The Xbox 360 HD DVD Emulator is now available as a free download on Xbox Live Marketplace when you request a token at http://www.thisishddvd.com/emulator/

Why is it free now?

This decision was made in light of Toshiba's recent announcement that they are discontinuing their HD DVD business.  The reasons for offering the emulator for free are two-fold. 

Microsoft is committed to interactivity and giving content authors the ability to create more compelling entertainment experiences.  The specification for HDi was developed with significant input from studios like Warner Bros. and Disney based on scenarios they desired in the next generation format.  Offering the emulator for free allows a greater audience to experiment with interactivity with little to no cost.

Second, the emulator beta program had approximately 80 participants across the industry who relied on the emulator for testing HDi content.  Continued access to the emulator will assist those post houses and developers in completing their outstanding HD DVD projects.


What about the people who already purchased the emulator?

They will be issued gift certificates redeemable at the Microsoft Store.  I'm kidding, of course!  That would be completely lame - who would do that?   Complete refunds will be issued to those who previously paid the full price for the emulator.


What can I do with this?

The Xbox 360 HD DVD Emulator is a development and test tool that allows you to run complete HD DVD projects - video, audio, and advanced interactivity - on your Xbox 360 from an external USB drive or networked PC.  If you're interested in learning more about HDi and how to create your first HDi application, start in the April 2007 section of this blog and work your way forward. 

If you're interested in a tool for muxing video to test on the emulator, be sure to check out NetBlender's DoStudio MX.  They also have a demo project that you can run on the emulator. 

Note that you do not need to have video in your project, though.  Your playlist may contain titles without PrimaryAudioVideoClip(s).

Once you have your project looking just the way you want, you can burn it to a DVD-9 and share it.  More info on burning DVD-9s can be found here: http://dostudio.netblender.com/wikipapers/wiki_dvdr.asp.  FYI, I use a Pioneer DVD burner, Gear Pro Professional software, and Verbatim discs. [follow up: the burner and software I have used successfully are not mentioned on NetBlender's wiki, so I mention them so people know what I have used to create discs that work on the Xbox and Toshiba players]


What doesn't it do?

The emulator does not allow you to play ripped retail titles on your Xbox or your PC.  The emulator runs on your Xbox 360, it does not run on a PC.  It will also not do your laundry.


Do I need an Xbox 360 HD DVD add-on drive to use this?

Yes!  Yes you do!  The HD DVD playback software required by the Xbox 360 is on the add-on drive, so you will need an add-on drive to use the emulator.  But, lucky you, they are now available for $50.  Sweet.

Yesterday was some day, huh?  Even though rumors have been rampant for over a week now, it doesn't make it any easier to hear.  Toshiba's going to discontinue the HD DVD business.  It seems that's all anyone's been talking about.  Engadget ran a snarky article on what you can do with your HD DVD player

You know what I did with my HD DVD player?  I went to Amazon and bought more HD DVDs for it.  And then I watched Queen:  Rock Montreal - which is pretty freaking awesome. 

I do not regret choosing HD DVD.  I bought my A2 for $250 and it came with 5 free movies by mail - though, not quite as good as the people who bought it in the last few months for $199 or less with 5 free movies immediately plus 5 more by mail.  I have a modest collection of HD DVDs which I have enjoyed watching.  And, it upscales my standard def library.  Even now, the other format doesn't have players for $250.  And, prices on those players are predicted to go up.

Right now, the two top selling DVD players- overall, not just high def - are Toshiba HD DVD players which tells me that I am probably not alone in my thinking. 

To everyone who's been following along on this blog for the past ten months, thanks for reading.  I hope to bring you more interesting code samples on new exciting technologies in the not too distant future.

 Happy Programming :)

-Amy

The Xbox 360 HD DVD Emulator is now available!  The emulator is downloaded through Xbox LIVE Marketplace on your existing Xbox player.  The Xbox 360 HD DVD Emulator can run projects from an optical disc, an external USB drive, or from a network drive, and logs API calls, errors, warnings, and exceptions with time code information to a networked PC.  The emulator also comes with support provide through the Microsoft Connect site.

Required Hardware:

Purchase and Installation:

  • Visit www.ThisIsHDDVD.com/emulator to purchase a redemption token.
  • You will receive an email with an Xbox Live redemption token to download the emulator and an invitation for the Microsoft Connect support site.
  • Download the PC installation files and best practices document from Microsoft Connect
  • Download the emulator to your Xbox
    • On your Xbox, sign into Xbox LIVE
    • Navigate to the Xbox LIVE Marketplace tab and select Redeem Code.
    • Enter your redemption code for the HD DVD Emulator.
    • After successfully redeeming the pre-paid code, select "Yes" to download.

Read More at http://thisishddvd.com/emulator/details.aspx

An HD DVD player may throw exceptions during the execution of script, and if not caught will result in a player crash (showing an error code of 0x4094C00C on Toshiba or 0xC667000B on Xbox).  While it's always a good idea to check conditions which could cause an exception to be thrown, an exception could still be thrown, so write your code in such a way to catch those exceptions and recover gracefully. 

Your title should use try-catch exception handling in all entry points including all global code, event handlers, and function callbacks.

Detailed information about the conditions under which an exception may be thrown is detailed for each API defined in Annex Z of the DVD Specifications for High Definition Video.  So, before making a call to an API, check conditions under which an exception may be thrown.  For example, calling XMLParser.parse will throw an exception if XMLParser.status is not equal to XMLParser.READY, so you should check status before proceeding.

While specific exceptions can be thrown based on conditions, do not write script that relies on specific exceptions.  Both exceptions and callback status values are meant to be informative.  This means that they need only to signify success or failure and not specific information about what precisely caused the failure.

Keep try blocks to small chunks of code and attempt recovery wherever possible. 

    try

    {

        if (XMLParser.status() == XMLParser.READY)

        {

            XMLParser.parse("file:///dvddisc/ADV_OBJ/data.xml",

parseCallback);

        }

        else

        {

            //parseFailed would be a function that proceeds appropriately

            //when success path can not be followed

            parseFailed(); 

        }

    }

    catch (ex)

    {

        //utility from "Helpful Tracing Routines" that writes diagnostic info

        TraceError("EXCEPTION", ex, arguments.callee);

        //parseFailed would be a function that proceeds appropriately

        //when success path can not be followed

        parseFailed();

  }

Because using try-catch may make debugging difficult, you should use conditional compilation around calls to try-catch blocks.  Conditional compilation is a proprietary Microsoft extension for Jscript that can be used during development with the Microsoft HDi simulator from the Interactivity Jumpstart Kit, the Xbox HD DVD emulator, and some software players.  For more information on using conditional compilation during HDi development, read: http://blogs.msdn.com/ptorr/archive/2007/06/01/using-conditional-compilation-in-hdi.aspx

As demonstrated above, all catch blocks should also contain diagnostic trace information to further assist during development.  For more information on helpful tracing routines, read: http://blogs.msdn.com/ptorr/archive/2007/06/27/helpful-tracing-routines.aspx

If you know what an error code means, it can be immensely helpful in diagnosing the problem with your project. Below are some of the more common error codes found on Toshiba Players and their potential cause.  There is a similar post for Xbox HD DVD add-on error codes. Note: the contents of this post may change overtime.

Note to Consumers: This blog is targeted at content authors who create all those cool applications for HD DVD and might possibly encounter these errors during development.  Of course the hope is that you never see these errors, but if you're reading this, that probably isn't the case.  Should you receive an error on your HD DVD player, I would recommend the following:

  1. Update your player firmware.  The issue you are encountering may already have a fix released that you can easily download using the internet port on the back of your player.  For more information, see: http://www.tacpservice.toshiba.com/ConsumerProductSupport/productupdatesandnotices.asp

  2. Clear your persistent storage.  Some discs download new content and should there be a problem with that download, the disc may not play correctly.  You would only need to clear the persistent storage for that particular title (not all of your titles).  For more information, see: http://www.universalhidef.com/support_errors.aspx#DeletePersistentStorage 

  3. Exchange the Disc.  If a specific disc will not play, it could be a bad disc.  It may have been scratched or there may be an anomaly on the disc that prevents it from being read by the player.  Most retailers will allow you to exchange a bad disc for a new copy of the same title.

  4. Contact Toshiba.  When all else fails, call customer support and ask them what to do.  http://www.tacp.toshiba.com/customersupport/contact.asp

Error Code

Description

Possible Causes

0x40**C00B

0x408BC00B

0x4094C00B

Resource Load Failure

Playlist is referencing a resource that does not exist or with a size attribute that is too small

0x40**C00C

0x408BC00C

0x4094C00C

Script Failure

Script is throwing an exception that is unhandled. Make sure to use try-catch blocks in your script.

Script is missing a semicolon - run the validator on your project

0x40**C00D

0x408BC00D

0x4094C00D       

 

Unknown markup or script error

This is a sort of "catch all" error.  If it happens immediately, the format of part of your script may not be valid. 

If this erorr happens after your app has run for a while, this could be an indicator that the player has run out of memory.  Check your code for possible memory leaks, particularly those resulting from closures and circular references.

0x40**C2**

 

Playlist Load issues

 

 

0x40**C201

0x408BC201

0x4094C201                

AACS Error for playlist loading

 

 

0x40**C202

0x408BC202

0x4094C202

Fatal Error of AACS

 

0x40**C203

0x408BC203

0x4094C203

Read/Parse Error of playlist file

 

 

0x40**4203

0x408B4203

0x40944203

AACS Read/Parse Error of playlist file

 

AACS key does match key used to encrypt playlist

0x40**C5**

Video Playback Errors

 

0x40**C504

0x408BC504

0x4094C504     

Video Controller Error

 

titleDuration of PrimaryAudioVideoClip is too long

EVOB is missing

0x40**C8**

Resource Errors

 

 

0x40**46**

 

Graphics Errors

 

 

0x40**C601

0x408BC601

0x4094C601

Pixel Buffer Overflow

 

Pixel buffer is impacted by all graphics (PNGs and JPEGs) and render font glyphs in all loaded applications must not exceed 2x1920x1080 ( 4,147,200 pixels)

0x40**C7**

 

Network Errors

 

 

0x40**C701

0x408BC701

0x4094C701

 

DiscID missing from DISCID.DAT

 

Run the DiscID creation tool that ships with the interactivity jumpstart kit with the following parameters (adjust GUIDs as needed):

"C:\Program Files\HD DVD Interactivity Jumpstart\Tools\CreateDISCID.exe" -c DISCID.DAT

-provider "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFF1"

-content "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFF2"

-disc "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFF3"

0x81000C03

Markup Resource Load Failure

A graphic referenced in the markup may be missing from resources.

A markup element containing text could not be released at the end of an application

0x10004050

0x200bc601

Possible internal player issue

Contact Toshiba
http://www.tacp.toshiba.com/customersupport/contact.asp

0x2007c5c2

Wrong Firmware Version

Update Player Firmware
http://tacp.toshiba.com/tacpassets-images/notices/hddvd-updateingfirmware.asp

 

If you know what an error code means, it can be immensely helpful in diagnosing the problem with your project.  Below are some of the more common error codes found on the Xbox HD DVD add on and their potential cause.  There is a similar post for Toshiba player error codesNote: the contents of this post may change overtime.

Note to Consumers: This blog is targeted at content authors who create all those cool applications for HD DVD and might possibly encounter these errors during development.  Of course the hope is that you never see these errors, but if you're reading this, that probably isn't the case.  Should you receive an error on your HD DVD player, I would recommend the following:

  1. Update your player firmware.  Make sure your firmware is up-to-date.  For more information, see: http://www.xbox.com/en-us/hardware/x/xbox360hddvdplayer/download.htm#liveupdate

  2. Clear your persistent storage.  Some discs download new content and should there be a problem with that download, the disc may not play correctly.  You would only need to clear the persistent storage for that particular title (not all of your titles). 

    1. Launch the Xbox dashboard
    2. Navigate to the System blade
    3. Select Memory
    4. Choose HD DVD

  3. Read Andy's Troubleshooting Guides
    General: http://blogs.msdn.com/andypennell/archive/2007/10/25/xbox-360-hd-dvd-drive-general-troubleshooting.aspx
    Movie Specific: http://blogs.msdn.com/andypennell/archive/2007/10/25/xbox-360-hd-dvd-drive-movie-specific-known-issues.aspx 

  4. Check Your Cables.  The add-on drive connects to the Xbox with a USB cable.  Try a different cable.
     
  5. Exchange the Disc.  If a specific disc will not play, it could be a bad disc.  It may have been scratched or there may be an anomaly on the disc that prevents it from being read by the player.  Most retailers will allow you to exchange a bad disc for a new copy of the same title.

  6. Contact Support.  When all else fails, call customer support and ask them what to do.  http://www.xbox.com/en-US/support/contact/?WT.svl=nav

Error Code

Description

Possible Causes

0x86670001

XPLAYER_W_ACTION_NOT_AVAILABLE

 

0x86670002

XPLAYER_W_NETWORK_UNSUPPORTED

 

0x86670003

XPLAYER_W_SUBVIDEO_UNSUPPORTED

 

0xC6670001

XPLAYER_E_READ

 

0xC6670002

XPLAYER_E_PARENTAL

 

0xC6670003

XPLAYER_E_REGION

 

0xC6670004

XPLAYER_E_DRM_VIOLATION_STOP

 

0xC6670005

XPLAYER_E_INCORRECT_SYSVER

 

0xC6670006

XPLAYER_E_IXP_PROVIDER_FAILED

 

0xC6670007

XPLAYER_E_SECURE_ACCESS_FAILED

 

0xC6670008

XPLAYER_E_VCP_FAILED

 

0xC6670009

XPLAYER_E_PRIVATE_FAILURE

 

0xC667000A

XPLAYER_E_CANT_LOAD_RESOURCE

Playlist is referencing a resource that does not exist or with a size attribute that is too small

0xC667000B

XPLAYER_E_SCRIPT_FAILED

Script is throwing an exception that is unhandled.  Make sure to use try-catch blocks in your script.

Script is missing a semicolon - run the validator on your project

0xC667000C

XPLAYER_E_FILE_INCOMPLETE

 

THERE WAS A PROBLEM WITH
LICENSING FOR THIS CONTENT

There could be a legitimate problem with the licensing on your content. Or, this could be a result of the player has run out of memory due to a memory leak. Check your code for possible memory leaks, particularly those resulting from closures and circular references with timers and HTTPClients.

CANNOT READ DISC

Bad connection: Try playing a DVD or using a different USB cable
Bad disc: Try playing a different HD DVD

http://support.microsoft.com/kb/927407/en-us


Additional Xbox HD DVD add-on support can be found at:

Trouble shooting tips from Andy Pennell
Specific movie issues
Cannot read disc, but no error code
How to use the Xbox HD DVD add-on
Modifyting network settings

 

In HD DVD subtitling can be done via a subpicture stream or an Advanced Subtitle.  An advanced subtitle is very similar in structure to an advanced application.  It has a manifest, markup file, and font and is declared with its resources in the playlist.  But, an advanced subtitle has some unique characteristics as well. 

  • The markup for an advanced subtitle uses the .xas extension rather than .xmu.
  • The markup may not contain event, area, button, input, or option elements.
  • Inline styles are not permitted.
  • The markup may never receive focus.
  • An advanced subtitle may not use script files.
  • An advanced subtitle is rendered as part of the sub-picture plane and not the graphics plane so zOrder may not be modified
  • An advanced subtitle may not be active at the same time as a subpicture subtitle.

One of the great things about advanced subtitles is that they can be downloaded and run in time with the movie after the disc ships.  This could significantly increase the potential audience for your movie.

Playlist Reference
An advanced subtitle in a playlist is slightly different from and advanced application in that it must include track information and many not specify zOrder.

      <AdvancedSubtitleSegment titleTimeBegin="00:00:00:00" titleTimeEnd="02:00:00:00" src="file:///dvddisc/ADV_OBJ/as_manifest.xmf" sync="hard">

        <Subtitle description="English Test" track="1"/>

        <ApplicationResource priority="1" size="99999" multiplexed="true" src="file:///dvddisc/ADV_OBJ/as_manifest.xmf"/>

        <ApplicationResource priority="1" size="99999" multiplexed="true" src="file:///dvddisc/ADV_OBJ/as_markup.xas"/>

        <ApplicationResource priority="1" size="99999" multiplexed="true" src="file:///dvddisc/ADV_OBJ/Miramo.ttf"/>

      </AdvancedSubtitleSegment>

Generating an Advanced Subtitle Markup Page
When generating subtitles, the primary information needed is the text being spoken, when it appears on screen, when it ends.  The simplicity and regular structure of this data lends itself nicely to automation, of which I am a big fan. 

At the end of this project you will find a sample advanced subtitles project.  In this project is an Excel file with a macro that will generate an advanced subtitle markup page with the data entered on the first tab (Subtitles).  The default x and y positioning and alignment may be overridden by enter a new value in the override columns.   Default values for your markup page are set on the second tab (Settings).

When opening the Excel file, be sure to enable macros.  There is some low level of data checking.  For instance, entering a start or end value in the wrong format will turn the row red.  But, always be sure to run the validator on your project to make sure the output is correct.  And, once you're ready to export your markup file, press the "Export Subtitles" button at the top of the page, or press CTRL+r.

 

More Posts Next page »
 
Page view tracker