dm.itrii, лучше давать ссылки на оригинальные посты из темы выбора боксов на 4PDA или обзоры, откуда они взяты, а не на вторичные копи-пасты с левым авторством.
dlentochkin, тут нужен небольшой исторический экскурс, который должен вам всё прояснить.
Сначала в Android была одна основная библиотека декодирования Stagefright. Это такой "чёрный ящик" с "дыркой" для ввода потока или файла, а он уже сам проигрывает и выводит. Это было простое решение для разработчиков, но очень топорное — многое зависело от бокса, а разработчики были сильно ограничены. В боксах использовалось два вида автофреймрейта. Первый — автофреймрейт был реализован только в одном проприетарном плеере (программе для проигрывания видео), а в других плеерах не работал. Такие боксы до сих пор существуют, например, Zidoo до сих пор такое делает, они до сих пор живут в 2000-х годах. Второй — системный автофреймрейт, который автоматически срабатывал в любой программе, которая используется Stagefright. Сами плееры (программы) знать не знали про автофреймрейт, система сама управляла переключение частоты развёртки, как только плеер начинал выводить поток. Т.е. это такой костыль, который внедряли разработчики боксов. Сам подход не идеальный и не может учитывать всех частных случаев, но в принципе это работало довольно неплохо.
Система Android развивалась и появилась библиотека MediaCodec и вывод SurfaceView, дающие очень гибкие и универсальные возможности разработчикам плееров и программ. Реализовать системный автофремйрейт в MediaCodec (как в случае со Stagefright), стало ещё проблемнее (ещё больше частных случаев), потому что многое теперь находилось под контролем разработчика программы, а системный автофреймрейт не мог всё учитывать.
В системе Android 6 появился API для управления режимами вывода (разрешение и частота). Т.е. разработчики получили возможность самостоятельно контролировать автофреймрейт, делать его таким, как считают нужным для конкретной программы. Это и есть так называемый современный (программный) автофреймрейт. И он идеален, потому что всё находится под контролем разработчика конкретной программы, он может учитывать любые нюансы и частные случаи. Тут нужно знать один нюанс... Если разработчик используется Stagefright, то он не может "пользоваться" "современный" автофреймрейтом, т.к. вы уже знаете, что Stagefright — это старый "чёрный ящик", который не сообщает программе (разработчику) кадровую частоту контента. Только MediaCodec или программное декодирование.
Вроде бы наступил идеальная ситуация и рай, когда у разработчиков есть MediaCodec и API "современного" (программного) автофреймрейта. Этими возможностями воспользовались Kodi, ViMu, Plex, Perfect Player, TiviMate, Archos, Amazon Video и пр. Но жизнь сложная штука... Многие программы продолжают использовать Stagefright, многие программы продолжают игнорировать существование API для переключения режимов (например, YouTube для Android TV, Netflix и пр.), во многих боксах не реализован (хоть и должен) API для изменения режимов. Производителей боксов (умных, а не подвальных) жизнь разделила на два лагеря. Те, кто решил придерживаться современных трендов и актуальных технологий, оставив костыли в прошлом — Nvidia, Amazon, Xiaomi и пр. Т.е. они сразу шагнули в финальную точку пути, отказавшись от системного автофреймрейта, доверяя всё современным и открытым API. Другой лагерь — это те, кто решили, что при наличии "современного" автфореймрейта нужно сохранить костыль в виде системного автофреймрейта (много — не мало), чтобы пользователь сам глубоко вникал в нюансы и разбирался в сути. Так поступила Ugoos, и именно с этим вы столкнулись.
У Ugoos X2 есть системный автофреймрейт, который работает через Stagefright. Есть системный автофреймрейт, который работает через MediaCodec (проблемный, включается отдельной галочкой). И есть поддержка API в системе для изменения режимов дисплея ("современный" автофреймрейт). И тут у пользователей начинают возникать вопросы о работе этого зоопарка. Чтобы вопросов было меньше, вы должны отключить системный автофреймрейт через MediaCodec. В этом случае системный автофреймрейт будет работать в программах, которые использует Stagefright. "Современный" автофреймрейт будет работать в программах, которые его поддерживают (включается в их настройках). Первый и второй не будут пересекаться и конфликтовать между собой. Программы, которые работают через MediaCodec и не поддерживают "современный" автофреймрейт, будут работать без автофреймрейта — вам нужно с этим смириться или заменить их аналогами.
Сообщение отредактировал yuri4pda - 21.08.19, 14:06