read_media

Top
audio_capture audio_decode audio_encode audio_lowpower audio_mixer audio_processor audio_render audio_splitter
image_decode image_encode image_fx image_read image_write resize source transition write_still
clock null_sink text_scheduler visualisation
read_media write_media
camera egl_render isp rawcam video_decode video_encode video_render video_scheduler video_splitter
Custom Index Metadata
| # OMX.broadcom.read_media
113
| read_media |
110
111
112
A media file demultiplexer, which extracts raw codec frames from a media file. It extracts audio, video and text data, reading directly from a file. All output ports require setting port streams, since the file may contain multiple streams on any domain. This component supports metadata extraction using standard OpenMAX IL metadata interfaces, see \autoref{sec:metadata} for a description of how metadata extraction is used. It also supports Broadcom-specific configurations to allow extra play modes. It also supports a clock input port.
Port | Index | Notes
| `OMX_IndexParamContentURI` | The filename containing the media file can be specified using this parameter. Currently the format of the URI is assumed to be a file that the component can directly access using the file system. However, the file system can support remote mounted file systems.
`OMX_IndexConfigTimePosition` | Set the media time position, causing a seek in the file. Some file formats only support a seek to the start of the file, setting a different time position in one of these files will return an error.
`OMX_IndexConfigTimeSeekMode` | Query / set the seek mode. If the file format does not support seeking, trying to set the seek mode will return a bad parameter error.
`OMX_IndexConfigPlayMode` | Query / set whether we should return all frames, only IDR frames, or only IDR frames in reverse order. This can be both got and set on this component.
`OMX_IndexConfigMetadataItemCount` | Query the number of metadata items at a particular scope level (All, Top, Node, or Port).
`OMX_IndexConfigMetadataItem` | Query the value for a particular metadata item. The item can be specified by index, or searched for by name.
`OMX_IndexParamMetadataFilterType` | Not implemented.
`OMX_IndexConfigContainerNodeCount` | Query the number of metadata items within a particular container.
`OMX_IndexConfigCounterNodeID` | Retrieve the Nth node within a particular container
`OMX_IndexConfigDrmView` | This config parameter serves as a notification for DivX DRM protected rental files. Clients should detect any changes in this parameter using `OMX_IndexConfigRequestCallback`. It will be populated with the current view count and the maximum permissible view count if a DivX DRM rental file is opened. Clients should respond by setting `OMX_IndexConfigConfirmView` config parameter.
`OMX_IndexConfigRequestCallback` | Set whether we enable a callback to the client when the value of this index structure changes. Only supported for the index `OMX_IndexConfigDrmView`.
`OMX_IndexConfigConfirmView` | It is only applicable to DivX DRM rental files. This is a boolean config parameter. Setting this to TRUE will continue the playback of a rental file, while setting to FALSE has no effect, and the host application is expected to stop the playback afterwards.
`OMX_IndexConfigDrmView` | This config parameter serves as a notification for DivX DRM protected rental files. Host applications should detect any changes in this parameter. It has two members, nCurrentView and nMaxView, which will be populated with the current view count and the maximum permissible view count if a DivX DRM rental file is opened. Host applications should respond by setting `OMX_IndexConfigConfirmView` config parameter.
`OMX_IndexParamComponentName` | Sets the component name to be used in internal logging messages.
110 111 112 | `OMX_IndexParamPortDefinition` | These are populated with the correct data when the port stream for the port has been chosen. Only the number of output buffers is allowed to be set.
`OMX_IndexParamNumAvailableStreams` | When the file has been opened, we can query for the number of streams available on each port.
`OMX_IndexParamActiveStream` | Query / set the active port stream.
`OMX_IndexParamBrcmDataUnit` | Query the data format being delivered. This indicates whether we believe the data to be correctly framed in the file format. This parameter is read-only on this component.
`OMX_IndexParamCodecConfig` | Query for codec-specific information. This is current used to transfer information such as aspect ratio, cropping, and codec-specific header bytes. This is currently only supported for VideoCore based components to query. It is read-only on this component.
110 | `OMX_IndexParamAudioPortFormat` | Query / set the audio port format. This port supports several audio formats, although doesn't support any conversion so the audio format will be set when the stream has been inspected.
`OMX_IndexParamAudioAmr` | Query the AMR properties. Currently eAMRBandMode is supported, and used to distinguish between different variants of AMR.
`OMX_IndexParamAudioAac` | Query AAC format parameters.
`OMX_IndexParamAudioMp3` | Query MP3 format parameters.
`OMX_IndexParamAudioDdp` | Query DDP format parameters. Currently eBitStreamId is used to distinguish between different variants of DDP.
`OMX_IndexParamAudioPcm` | Query PCM audio parameter. Currently support sampling rate and no. of channels.
`OMX_IndexParamAudioEvrc` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioG726` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioMidi` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioQcelp13` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioQcelp8` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioRa` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioVorbis` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamAudioWma` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexConfigBrcmAudioTrackGaplessPlayback` | Query encoder delay and padding information for gapless audio playback.
111 | `OMX_IndexParamVideoPortFormat` | Query / set the video port format. This port supports several video formats, although doesn't support any conversion so the video format will be set when the stream has been inspected.
`OMX_IndexParamNalStreamFormat` | Query the format of NAL units that will be output by the reader (`OMX_NaluFormatStartCodes` or `OMX_NaluFormatOneNaluPerBuffer`). A value of 0 means that the type can be found by looking at the codec configuration data. This is parameter is currently only relevant for AVC streams.
`OMX_IndexParamVideoAvc` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamVideoH263` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamVideoMpeg2` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamVideoMpeg4` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamVideoRv` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
`OMX_IndexParamVideoWmv` | This parameter is handled but not filled in by the component. A query will return all zero values and a set must have all zero values.
112 | `OMX_IndexParamOtherPortFormat` | Query / set the other port format. This port supports several text subtitle formats, although doesn't support any conversion so the format will be set when the stream has been inspected.
## Supported Metadata Tree
protocol |  |
duration |  |
num_stream |  |
#audXX | type, bit_rate, sample_rate, num_channels |
title, artist, album, year, genre, track, lyrics, hasimage | Present for MP3 files with ID3 tags. Only those tags present in the file are created when the file is parsed.
#vidXX | type, bit_rate, height, width |
level | Present for MP4 files with a video stream.
Some handlers support multiple streams. A metadata container will be created for each stream, starting with #aud00, then #aud01 for audio streams, and #vid00, #vid01 etc for video streams. A port-level query for an item will return that item for the currently selected stream of that type.