org.iso.mpeg.mpegj.resource
Interface DynamicCapability

All Known Implementing Classes:
CapabilityManager

public interface DynamicCapability

[Adaptive Audio-Visual Session Format ISO/IEC JTC1/SC29/WG11 - MPEG97/2566]

On some platforms and scenarios, it may be impossible for the terminal to guarantee the constant availability of all of its resources. For example:

In order for the audio-visual session to respond gracefully to these situations, AAVS provides mechanisms for an AVSession object to catch dynamic changes to terminal information and modify its behavior. Upon initialization, an AVSession object may subscribe with the Terminal object to receive notification of changes to dynamic terminal information that is important to that particular audio-visual session. If such information does change during an audio-visual session, the Terminal will notify the AVSession of the change through standardized interfaces. Then the AVSession may respond in the manner prescribed by the content creator. For example, consider an AAVS scene representing an MPEG-4 video sequence of a newscaster and a background news clip coded as separate video objects. The content creator might desire to freeze the news clip whenever the actual display frame rate is too slow, rather than sacrificing the quality of the newscaster in the foreground. The content creator can specify this behavior programmatically within the media by subscribing to notifications of frame-rate changes from the terminal. Then, when frame rate drops significantly due, for example, to limited CPU capacity, the media object can dynamically adapt and not continually decode the news clip and further degrade the presentation performance.


Method Summary
 long getFreeApplicationMemory()
          Free application memory (RAM)
 long getFreeTerminalMemory()
          Terminal free memory (RAM)
 long getNetworkLoad()
          Terminal Network Load
 long getTerminalLoad()
          Terminal CPU Load
 long getTotalApplicationMemory()
          Total application memory (RAM)
 long getTotalTerminalMemory()
          Terminal total memory (RAM)
 

Method Detail

getFreeTerminalMemory

public long getFreeTerminalMemory()
Terminal free memory (RAM)
Returns:
the amount of free memory (bytes) installed on the terminal.

getTotalTerminalMemory

public long getTotalTerminalMemory()
Terminal total memory (RAM)
Returns:
the total amount of memory (bytes) installed on the terminal.

getTotalApplicationMemory

public long getTotalApplicationMemory()
Total application memory (RAM)
Returns:
the total amount of memory (bytes).

getFreeApplicationMemory

public long getFreeApplicationMemory()
Free application memory (RAM)
Returns:
the amount of available (at application level e.g. JavaVM) free memory (bytes).

getTerminalLoad

public long getTerminalLoad()
Terminal CPU Load
Returns:
the load (percentage) of the terminal CPUs

getNetworkLoad

public long getNetworkLoad()
Terminal Network Load
Returns:
the network load (percentage).