Package: android.hardware.media.omx@1.0

IOmxStore

interface IOmxStore

Ref:frameworks/av/include/media/IOMX.h:IOMX

There will be two instances of IOmxStore:"platform" and "vendor".

The IOmxStore service provided by the platform must present "platform" as the interface name.

The IOmxStore service provided by the vendor must present "vendor" as the instance name.

Properties

ServiceAttribute

typedef Attribute ServiceAttribute

Service attribute

Optional service attributes:key:'max-video-encoder-input-buffers', value-type:num key:'supports-multiple-secure-codecs', value-type:enum<0, 1>key:'supports-secure-with-non-secure-codec', value-type:enum<0, 1>

For keys with prefix 'supports-', the value of 0 means "no"(not supported)while the value of 1 means "yes"(supported).

NodeAttribute

typedef Attribute NodeAttribute

Node attribute

Optional node attributes to describe supported values:key:'bitrate-range', value-type:range<num>key:'max-concurrent-instances', value-type:num key:'max-supported-instances', value-type:num

Optional node attributes for audio nodes to describe supported values:key:'max-channel-count', value-type:num key:'sample-rate-ranges', value-type:list<range<num >>

Optional node attributes for video nodes to describe supported values:key:'alignment', value-type:size key:'block-aspect-ratio-range', value-type:range<ratio>key:'block-count-range', value-type:range<num>key:'block-size', value-type:size key:'blocks-per-second-range', value-type:range<num>key:'feature-can-swap-width-height', value-type:enum<0, 1>key:'frame-rate-range', value-type:range<num>key:'pixel-aspect-ratio-range', value-type:range<ratio>key:'size-range', value-type:range<size>

Required node attributes for video nodes that are required by Android to describe measured values for this device:key:'measured-frame-rate-<width>-<height>-range', value-type:range<num>; where width:num, height:num

Optional node attributes for decoders to describe supported values:key:'feature-adaptive-playback', value:enum<0, 1>key:'feature-secure-playback', value:enum<0, 1>key:'feature-tunneled-playback', value:enum<0, 1>

Optional node attributes for video decoders to describe supported values:key:'feature-partial-frame', value:enum<0, 1>

Optional node attributes for encoders to describe supported values:key:'complexity-default', value-type:num key:'complexity-range', value-type:range<num>key:'feature-bitrate-control', value-type:list<enum<VBR, CBR, CQ >> key:'feature-intra-refresh', value-type:enum<0, 1>key:'quality-default', value-type:num key:'quality-range', value-type:range<num>key:'quality-scale', value-type:string

For keys with prefix 'feature-' and value type enum<0, 1>, the value of 0 means "optional", while the value of 1 means "required".

Attribute

struct Attribute {string key; string value}

Attribute is a key-value pair of strings.The `value` member is generally a stringified value of the following:enum<v1, v2, ..., vn>: v1 | v2 |...| vn num:0 |[1-9 ][0-9]* string:arbitrary string size :<num>x<num>ratio :<num>:<num>range<type>:<type>-<type>list<type>:<type>|<type>, <list<type >>

Details
Members
key
value

NodeInfo

struct NodeInfo {string name; string owner; vec attributes}

Information for an IOmxNode node.

Details
Members
name
Name of this node.
`name` can be supplied to `IOmx::allocateNode` of a corresponding `IOmx` instance to create the node.
owner
Name of the `IOmx` instance that can create this node.
To obtain the `IOmx` instance, call `getOmx(owner)`.
attributes
List of node attributes.

RoleInfo

struct RoleInfo {string role; string type; bool isEncoder; bool preferPlatformNodes; vec nodes}

Information about nodes provided for a supported node role

Details
Members
role
Standard OMX node role.
type
Corresponding media type(as defined in MediaFormat.MIMETYPE_* constants for types required by Android).
isEncoder
Whether this role is for an encoder or a decoder.
preferPlatformNodes
Whether to prefer platform nodes for this role.
nodes
List of nodes that support this role, ordered by preference.

Methods

listServiceAttributes

listServiceAttributes ()
generates (Status status, vec<ServiceAttribute> attributes)

List attributes that are service-specific(not node-specific).

Details
Generates
status
attributes
The list of `Attribute`s that are specific to this service.

getNodePrefix

getNodePrefix ()
generates (string prefix)

Return the prefix of names of supported nodes.

Details
Generates
prefix
The prefix of the names of all nodes supported by this service.

listRoles

listRoles ()
generates (vec<RoleInfo> roleList)

List roles of supported nodes.

The name of each node inside `NodeInfo` must start with the prefix returned by `getNodePrefix() `.

Details
Generates
roleList
The list of `RoleInfo`s.

getOmx

getOmx (string name)
generates (IOmx omx)

Obtain an `IOmx` instance with a specified name.

Details
Parameters
name
The name of the instance.
Generates
omx
The `IOmx` interface associated with `name`.This must be null if the name is not found.