Я пытаюсь реализовать свой собственный медиаплеер. Каков наилучший способ рендеринга видео и аудио? На данный момент я думаю использовать классы SurfaceView и AudioTrack, но не уверен, что это лучший вариант. Я заинтересован в решениях SDK и NDK.
Вывод файла на обычный рабочий стол неблокируемый, то есть ОС заботится о буферизации, а фактическая запись на диск асинхронна потоку, который инициирует вывод. Применяется ли тот же принцип к видео и аудио выходу? Если нет, мне нужно будет запустить отдельный поток для асинхронной обработки выходных данных при декодировании / демультиплексировании.
Какие бесплатные программные декодеры доступны для Android? Я думаю использовать ffmpeg. Может ли сравнительно недавно (скажем, 30% по мощности процессора) планшет обрабатывать 1280 × 720 и 1920 × 1080 форматов в программном режиме?