Advanced Multimedia Supplements

In computing, the Advanced Multimedia Supplements (also JSR-234 or AMMS) is an API specification for the Java ME platform. Practically speaking, it is an extension to JSR 135 Mobile Media API providing new features, such as positional 3D audio processing, audio and video effects processing, better controls for digital camera, and better support for analog radio tuner including Radio Data System. AMMS was developed under the Java Community Process as JSR 234.

Features and profiles

JSR-234 defines six feature sets, namely Media Capabilities, and each define minimum implementation requirements in order to try to avoid fragmentation and to define a common minimal base line for the implementations. Every JSR-234 implementation must support at least one Media Capability. The six Media Capabilities are described in the table below.

Media Capability Description
Music Capability Music Capability mandates equalizer and audio level control for the main mix of the application.
3D Audio Capability 3D Audio Capability mandates support for at least one simultaneous 16 kHz / 16 bits 3D audio sound source and for a global reverberator. Distance attenuation behavior and location control must be supported for the sound source.
Camera Capability Camera Capability mandates support for controlling zoom, flash, focus and burst shooting properties of the main camera of the device (to the extent the camera hardware supports them). It also mandates JPEG encoding for the photos.
Image Encoding Capability Image Encoding Capability mandates transcoding of Image objects into JPEGs.
Image Post-processing Capability Image Post-processing Capability is a proper super set of Image Encoding Capability. In addition, Image Post-processing Capability mandates image processing effects (like monochrome and negative), image transformations like mirroring and cropping, and setting of overlays on top of the original image. Furthermore, JPEG to JPEG image processing must be possible.
Tuner Capability Tuner Capability mandates support for normal FM/AM radio controls like tuning, seeking, squelch, stereo mode, signal strength query and preset. RDS is not mandated.

Optional features

In addition to the Media Capabilities, the device is free to support any of the optional features including:

  • controlling additional 3D audio features such as Doppler, size of the source (macroscopicity), directivity and obstruction
  • controlling additional audio effects such as chorus and channel virtualization (including stereo widening)
  • audio panning
  • detailed exposure settings for the camera
  • brightness, contrast and gamma settings
  • whitebalance
  • setting the processing order of the audio and video effects
  • setting priorities for the players
  • MIDI channel specific effects
  • RDS

Versions

  • 1.0 2005-05-17
  • 1.1 2007-02-28 (contains only minor bug fixes and some additional clarifications; no new features or functionality)

Implementations

Mobile devices

  • Nokia Series 40 devices (5th Edition: 3D Audio and Music Capabilities; 6th Edition: Camera Capability controls for Camera, Flash, Focus, Snapshot and Zoom)
  • Nokia S60 devices (since 3rd Edition, Feature Pack 1) (3D Audio and Music Capabilities only)
  • Sony Ericsson devices (JP-7: Camera Capability only; since JP-8: all areas)

Emulators

Chipsets and engines

There are also implementations targeted mainly for mobile device manufacturers.

Other APIs for similar purposes

  • OpenSL ES - for 3D audio and audio effects processing via a C-language API
  • OpenMAX AL - for camera controlling and analog radio via a C-language API
gollark: There are two ways around this:- make your "OS" unable to run arbitrary code and instead use a highly limited shell/GUI- sane sandboxing via providing no/a limited FS API to environments where you can run arbitrary code
gollark: The crux of the issue is that people can via a variety of methods write and run code which can edit your thing even if you pointlessly meddle with the shell.
gollark: No.
gollark: Hahahahahahaha.
gollark: Or just get around your awful exact matching easily, use the FS API directly from `lua` or something...

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.