# Ian Bird

Knows enough to be dangerous, but makes lots of mistakes on they way

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Controlling memory with Google's ExoPlayer

DevFeed: [Controlling memory with Google's ExoPlayer](<https://devfeed.tech/articles/controlling-memory-with-google-s-exoplayer-25145.md>)

Original publisher: [Read original article](<https://ianbird.dev/exoplayer-loadcontrol/>)

Author: Ian Bird

Published: 2021-12-06T14:24:05Z

Content type: tutorial

Language: en

Sources: [Ian Bird](<https://devfeed.tech/sources/ian-bird.md>)

Topics: [ExoPlayer](<https://devfeed.tech/topics/exoplayer.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [exoplayer](<https://devfeed.tech/tags/exoplayer.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [memory](<https://devfeed.tech/tags/memory.md>), [playback](<https://devfeed.tech/tags/playback.md>)

### AI overview

This tutorial explains how ExoPlayer manages its main playback buffer and how application developers can influence its memory usage. It covers decoder input and output buffers, media-file track interleaving, and the LoadControl and Allocator components.

### Source excerpt

Playback requires memory. Learn how to best control ExoPlayer to make efficient use for your application.

## Downmixing Multichannel Audio on Android

DevFeed: [Downmixing Multichannel Audio on Android](<https://devfeed.tech/articles/downmixing-multichannel-audio-on-android-25143.md>)

Original publisher: [Read original article](<https://ianbird.dev/downmixing-multichannel-audio/>)

Author: Ian Bird

Published: 2021-11-15T18:53:33Z

Content type: tutorial

Language: en

Sources: [Ian Bird](<https://devfeed.tech/sources/ian-bird.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [audio](<https://devfeed.tech/tags/audio.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mediacodec](<https://devfeed.tech/tags/mediacodec.md>), [multichannel](<https://devfeed.tech/tags/multichannel.md>)

### AI overview

A practical guide to downmixing multichannel audio on Android. It explains why downmixing may be needed for compatibility, how Android represents decoded audio as PCM buffers, and the role of channel order and PCM encoding.

### Source excerpt

Sometimes we need to dig a little deeper into how things work. This is a quick and simple guide covering raw audio buffers on Android, and how to downmix multichannel formats.

## Debugging Problematic Videos with ExoPlayer's Demo App

DevFeed: [Debugging Problematic Videos with ExoPlayer's Demo App](<https://devfeed.tech/articles/battling-problematic-videos-with-google-s-exoplayer-25144.md>)

Original publisher: [Read original article](<https://ianbird.dev/exoplayer-debugging-files/>)

Author: Ian Bird

Published: 2021-11-04T11:26:34Z

Content type: tutorial

Language: en

Sources: [Ian Bird](<https://devfeed.tech/sources/ian-bird.md>)

Topics: [ExoPlayer](<https://devfeed.tech/topics/exoplayer.md>), [Demo](<https://devfeed.tech/topics/demo.md>), [Android](<https://devfeed.tech/topics/android.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [demo](<https://devfeed.tech/tags/demo.md>), [exoplayer](<https://devfeed.tech/tags/exoplayer.md>), [json](<https://devfeed.tech/tags/json.md>), [python](<https://devfeed.tech/tags/python.md>), [repository](<https://devfeed.tech/tags/repository.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

A practical guide to diagnosing video playback problems in ExoPlayer by testing media with its Demo application. It explains how to add test files through the app's JSON configuration and how to stream files from Google Drive or a local Python HTTP server.

### Source excerpt

Unfortunately not all videos are created equally, and neither are Android devices. Learn some useful tips and tricks to sanity check your ExoPlayer integration by running the Demo App directly.

## Android's Codec Support

DevFeed: [Android's Codec Support](<https://devfeed.tech/articles/android-s-codec-support-25142.md>)

Original publisher: [Read original article](<https://ianbird.dev/android-mediacodec/>)

Author: Ian Bird

Published: 2021-11-01T13:36:32Z

Content type: tutorial

Language: en

Sources: [Ian Bird](<https://devfeed.tech/sources/ian-bird.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>), [Playback](<https://devfeed.tech/topics/playback.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [article](<https://devfeed.tech/tags/article.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mediacodec](<https://devfeed.tech/tags/mediacodec.md>)

### AI overview

A concise overview of Android's MediaCodec API, explaining how device-specific codec capabilities are configured and how applications can inspect supported encoders, decoders, formats, and capabilities.

### Source excerpt

A quick overview of Android's MediaCodec API. What they are, how to find out about device support and some general usage tips when integrating within your application.