Problem with 'content ID' while creating directory in 'persistent storage'.

Hello Everybody....
In the java script for creating a directory (FileIO_createDirectory), do we have to specify the content id also
If we don't specify, whether the directory will be created or some exception will be thrown
I am giving two examples below, please tell in each case what will happen.

1. FileIO.createDirectory("file:///required/app1",callback_createDirectory);

2. FileIO.createDirectory("file:///required/11111111-1111-1111-1111-111111111111/app1",callback_createDirectory);



Answer this question

Problem with 'content ID' while creating directory in 'persistent storage'.

  • rcook349

    Jayx,

    Your code is more than likely right. The problem is that, I assume, the disc is not AACS protected. In order to write to the persistent storage, AACS is needed.


  • Huson

    You can only create files in the "root" of //required, not directories. The directories are created by the player and have the GUID names.

    This is outlined on 10.3.1 in the spec.



  • pamike

    Thanks Peter,
    Annex Z.11.2.3. setContentInformation() function clearly indicates that we can create a contentID directory with name in GUID format.

    1. I have a doubt, How one disc can access the content id of another disc, as i think that at one time, only one disc gets loaded and content ID directories for that disc are created in PS. Once the disc is out, the data in PS is erased , so that PS area can be used for the other disc otherwise it will be completely used in some time if data not deleted.

    2. Then, it is at content Author's discretion whether to create a contentID more than 1 or not.

    Please tell if these notions are incorrect.



  • SanjayNarang

    Hi,
    Thanks for the reply.

    But, according to the spec 10.2, definition of Content ID says that an advanced application may use one or more Content IDs for each disc content of own content provider. Only one content ID is allowed to be specified in the DISCID.dat, then from where does these other content IDs appear.
    And also in the previous examples that I gave, Can you please tell which one is wrong and why...

    thanks in advance
    Azaz


  • Edward1

    Sorry for the late reply; I was on a trip :-)

    The player automatically creates a folder for the "Provider"; you can never see this folder since it is virtualised by the player to enforce separation of content.

    Inside the provider directory (ie, what you access as file:///required/) you can have as many directories as you want, but they must all be in GUID format. The idea is that each GUID maps to a ContentID of a disc, but that's not really enforced. I don't know if you can CREATE a folder with a GUID different than your own ContentID (spec doesn't really say, but it seems like a bad idea to do this), but you can ACCESS a folder with a different GUID if it is already there (ie, another disc put it there). I would not really recommend doing that either though -- you don't want a bug in Disc A to corrupt both itself and Disc B by trashing persistent storage; your customers will be very annoyed.

    You must always specify the GUID folder name. The easiest way to get your own GUID is from PersistentStorageManager.contentId

    Any files you put directly inside file:///required are shared by all discs from your provider ID. Files you put inside file:///common/required/ are shared by ALL DISCS FROM ALL PROVIDERS.

    Similar things for the additional persistent storage URIs.



  • hazz

    To Jeff Williams : As you mentioned , I add AACS and it even could not play on TP (the disc could play on TP without AACS,although failed to create directory ) .

    To DrumAllDay :  As the spec mentioned , the Provider directory is automatically created , so I try to create the only Content directory . An aacs disc  Do you mean that I don't need to add AACS and create directory by myself  I will test it .

    Many thanks .


  • AlexBB

    Only Provider (ie, Movie Studio) directories exist at the root. Content (ie, the HD-DVD disc) directories exist in Provider directories. The id for the provider and content directories is set in the DISCID.DAT file. And, of course you need an aacs protected disc for any of this to matter (so technically, no, you can not have an "arbitrary" contentId).

    Theoretically, you could have each of your disc have a unique ProviderID so that they were created at the root, but then the discs from the same provider would not be able to share information because they existed in separate provider directories.

    Hope that makes sense.


  • Asif Hameed

    Are you trying to create the Provider and Content directories You don't need to do this, they are created for you based on the Provider and Content IDs in your DISCID.DAT file. True, you will need an aacs disc for the player, but not on HDiSim - so if you're getting the exception, it isn't aacs related.

    your content directory is: "file:///required/" + PersistentStorageManager.contentId
    Just write to this directory



  • John Hennesey

    The whole point of "Persistent Storage" is that it is persistent -- ie, it remains even when you eject the disc or turn off the player. The content remains in the folder until either the disc deletes it or the user manually deletes it. This does mean that discs need to "play nice" and not gobble up too much disc space (unless the user really wants you to).

    RE: Title keys, you have 64 keys in the Media Key Block and you just need to make sure that you reserver one or more of those keys for "shared" content and that you always create shared content with that key. There are also lots of other things you can do; just make sure you have the right keys in the MKB and the AACS headers on the files / EVOBs reference the right key number.



  • Rask

    Hi,
    Also, according to the Spec Z 3.1.3 createDirectory API, directory can be created in the persistence storage.
    But, while creating a directory, a Content ID has to be specified. Who specifies this content ID, the 'Content author' OR the player extract this value of 'content ID from configuration file'
    And if the value is extracted from the config file, then how can there be more than one Content ID directories
    Note : In figure 10.3.1 in the specification, it is clearly shown that more than one Content ID is possible in one disc.


  • TboneToo





    Hi

    Maybe it is like this :

    Persistant storage-------------------------
    |                                                               |
    Provider_Area_A                                   Provider_Area_B
    |                         |                                    |                         |                                   <-----root
    ContentID1A ContentID2A                    ContentID1B     ContentID2B




    Any resource would be mapped to ( by player) to the correct provider area as determined by provider-id on configuration file. The content author need not know about provider-id (at least for creating /accessing files and directories)

    But, it is the content author who will give the content-id.( i.e. manage the  provider's area)
    The content-id provided by configuration file (during startup) is used to find the playlist files.

    Only "GUID" directories can exist at root level.
    "NON-GUID" Directories can be created only under a "GUID" directory e.g."content-id directory".

    A question i would like to have answered::
    Can a  arbitrary "content-id" i.e."GUID" directory be created at root level by the script


    Thanks











  • ims.com

    Another problem you'll have is encryption. Two different discs can have access to the same the file, but both must have the same title key available to them and set. Otherwise, you'll cause the player to crash.
  • Heng-yi Liu

    Hello to Everybody..
    I am really getting confused about who specifies the content ID and how can be there more then one Content IDs possible.....
    Please see if anybody know about this....
    thanks in advance
    Azaz


  • Shawn Rheal

    Now I find a problem . I have written the ProviderID and ContentID in codes, but when I try to create directory in the Persistent Storage on Toshiba Player, it was throw HDDVD_E_INVALIDCALL .

    In Annex Z 3.1.2 createDirectory mentioned , " HDDVD_E_INVALIDCALL - advanced application is attempting to create in other than Perisitent Storage " . I have no idea about this .Who can help me

    And how can I create directory successfully on TP Could you give me a simple example

    Thanks in advance.


  • Problem with 'content ID' while creating directory in 'persistent storage'.