# mob_media v0.1.0 - API Reference

## Modules

- [MobMedia](MobMedia.md): Media helpers for Mob apps, through the platform's own decoders: what's in
a media file, its audio as PCM for speech-to-text, and a video frame as a
JPEG.
- [MobMedia.DemoScreen](MobMedia.DemoScreen.md): A ready-to-run sample screen exercising `MobMedia`, shipped so a generated
app can try the plugin the moment it's activated. Declared in the plugin
manifest's `:screens` (route `/mob_media/demo`). Delete it (and the
manifest entry) in a real app.
- [MobMedia.Engine](MobMedia.Engine.md): What does the decoding behind `MobMedia`. The callbacks mirror the NIF
(`:mob_media_nif`) one for one, so every engine speaks the same contract.
- [MobMedia.Engine.Fake](MobMedia.Engine.Fake.md): A device-free engine for host tests and agents.
- [MobMedia.Engine.Native](MobMedia.Engine.Native.md): The platform decoders, through the `:mob_media_nif` NIF linked into the app
by its native build.
- [MobMedia.Engine.Unavailable](MobMedia.Engine.Unavailable.md): The engine when the app was built without the NIF (and on the host, unless
`MobMedia.Engine.Fake` is configured): every operation is
`{:error, :unavailable}`.

- [MobMedia.PCM](MobMedia.PCM.md): Helpers for signed 16-bit little-endian interleaved PCM, the format
`MobMedia.audio_pcm/2` returns, plus the reference conversion the Android
decoder implements and `MobMedia.Engine.Fake` uses.
- [MobMedia.SelfTest](MobMedia.SelfTest.md): The plugin's on-device proof (`Mob.Plugin.SelfTest`), run by
`mix mob.selftest` and mob_ci for every activated plugin.

