Is there anything to be aware of when using ADX and Sofdec2 together?
Cautions on Library Initialization
(1) Error Callbacks
There can only be one error callback function for all libraries.
If criErr_SetCallback is called multiple times, any callback function registered will be overwritten by the one registered after it.
(If this occurs, the callback function(s) registered earlier will not be called even if an error occurs.)
(2) Initialization Order
The libraries must be initialized in the following order.
(1) CRI File System library initialization (criFs_InitializeLibrary)
(2) CRI Atom library initialization (criAtomEx_Initialize_*)
(3) CRI Mana library initialization (criMana_Initialize_*)
Cleanup processing must be performed in the opposite order of initialization.
(1) CRI Mana library cleanup processing (criMana_Finalize_*)
(2) CRI Atom library cleanup processing (criAtomEx_Finalize_*)
(3) CRI File System library cleanup processing (criFs_FinalizeLibrary)
(Remarks)
You can omit initialization/cleanup of the CRI File System library when using the CRI Atom library.
If initialization of the CRI File System library is omitted, initialization of the CRI File System library is performed in the CRI Atom library.
(3) Thread Framework
You must specify the same thread framework for both the CRI Atom and CRI File System libraries.
When each library is initialized, the same thread framework type (thread model) must be set in the following structure member variables.
The thread_model member of the CriFsConfig structure
(Remarks)
You can set a different thread model from the CRI Atom and CRI File System libraries for the CRI Mana library thread framework.
The thread_model member of the LibConfig structure
Resources Shared Between Libraries
(1) Threads
The CRI Atom library server processing thread and CRI File System library server processing thread are the same thread.
If you change parameters such as thread priority or affinity mask in the CRI Atom library, the server processing thread parameters in the CRI File System library are also changed.
(4) Server Processing
The CRI Atom library server processing ( criAtomEx_ExecuteMain ) and CRI File System library server processing (criFs_ExecuteMain) functions hold the same entities.
Therefore, execute only one of these server processing functions when using the CRI Atom and CRI File System libraries together.
(Executing both functions will perform server processing twice.)
(Caution)
When using with the CRI Mana library, you must also execute the CRI Mana library's server processing (::criMana_ExecuteMain function) in addition to the CRI Atom (or CRI File System) library's server processing.
Streaming Playback Cautions
(1) D-BAS
When performing simultaneous sound and video streaming playback, you must specify the number of streams and maximum bitrate to the D-BAS as the sum for both of these streams.
(Remarks)
When loading data other than sound/movie streaming data, there is no need to add any parameters to the D-BAS when it is created.
Background loading of data through a loader or other means is performed without buffering at any free time during streaming, so there is no need to consider these parameters when creating the D-BAS.
(2) Priorities
Sound and movie streaming is executed at a higher priority than the highest priority that can be set for a loader (CRIFSLOADER_PRIORITY_HIGHEST).
Therefore, streaming playback of a sound and/or movie will not be interrupted even if a large amount of data is attempted to be loaded by a loader.
(Caution)
Loading data occurs frequently while streaming data is being loaded. Therefore, loading data during streaming is slower than when not streaming.