Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Наверное вы не правильно поняли.Напротив, я всё понял. Я хочу иметь возможность использовать интересное библиотечное решение для других плейеров, но автор библиотеки этого не рекомендует. Что мне остаётся, кроме как 1) допилить авторское решение 2) написать своё. Если сам автор пасует перед этой задачей, то, разумеется, лучше выбрать второй подход.
На гитхабе большая часть библиотек без тестов и что теперь? Не использовать их?))Я этого не говорил. Но без сомнения отдам предпочтение библиотеке с тестами. А иначе где доказательства того, что она работает корректно? Как вносить изменения в код без уверенности, что чего-то не поломал? И да, я стараюсь не использовать библиотеки без тестов. Не поленился просмотреть зависимости своего последнего проекта и обнаружил, что около 80% используемых библиотек имеют тесты. Отсутствие тестов в Вашей библиотеке — это бесспорный минус Вашей библиотеки, с этим бессмысленно спорить.
Для меня этот код, как детский стих.Поймёте ли Вы его через 2 года? Поймёт ли его другой программист? Ведь, как известно, 80% программист проводит в чтении своего или чужого кода и только 20% в написании.
Ничего там нет сложного, если понимать, что происходит.Разумеется: ) Сложность-то как раз в том и заключается, чтобы понять: )
Я думаю написать можно только такЛюбой код кроме разве что самых тривиальных случаев можно написать превеликом множеством способов.
Да и чего вам надо? Статью написал, картинки сделал, код опубликовал. Вопросы есть? — задавайте! На русском языке даже отвечу))Как я говорил выше, к статье-то как раз нету никаких вопросов: всё грамотно и интересно.
О чём ещё можно мечтать???О прекрасном, чистом, очевидном коде, который не боязно вставить в прадакш проект: ).
И если код ещё выносить в сторонние процедуры, то будет только сложнее.Есть тысяча и один способ повысить читаемость кода и, да, вынесение в метод — один из них.
Где пустые catch блоки — значит так надо.Сложно поверить, что в например в HttpGetProxy 18 пустых catch блоков из 23 — это норма. Если есть желание обсудить код, можно это сделать на гитхаб ;)
А вы лезете со своим уставом в чужой монастырь. Не надо так.Разве в мире opensource это не поощряется?
А класс плеера, я очень долго отлаживал.Возможно всё-таки стоит использовать тесты? Тогда не придется «очень долго отлаживать».
В нём собрано всё лучшее от Exoplayer, VitamioВы уверены в этом? Ваш плейер поддерживает DASH, SmoothStreaming, DRM, он супер расширяем? Ведь это несомненно самое лучшее, что есть в ExoPlayer.
Я рекомендую потому что провёл много тестов плееров. И дело не в том что другие плееры могут подходить хуже к прокси. Дело в скорости их работы и глючности. Я много общался с авторами плееров на гитхабе и даже в личных сообщениях. Они не планируют исправлять что-либо. Если это и будет, то через 1-2 года.Когда я говорил о интересном библиотечном решении, я имел в виду ImortalPlayer, а когда говорил, что автор не рекомендует его использовать для других плейеров, имел в виду Ваши же слова «Easy to use with different other player, but! Not recommended». Что собственно и подтверждает мои первоначальные слова «Механизм кеширования привязан к конкретной реализации плейера.»
Почему-то мне попадается только 1% библиотек с тестами. Возможно мы в разных областях работаем. Взять хотя бы приложение play.google.com/store/apps/details?id=com.desarrollodroide.repos&hl=ru найдите там с тестами проект))). Что-то нету.В этом сборнике в основном UI библиотеки. Тесты для них не так критичны. У вас же библиотека неUIайная (опциональная по вашим же словам реализация TextureView-плейера поверх прокси не в счет). В ней много работы с сетью, сокетами, файлами. Это нуждается в тестах.
Я пойму свой код через 5 лет, если надо. Достаточно быстро.Завидую Вашему оптимизму.
Для этого статья. Читайте и понимайте.Объяснить идею обычным привычным языком — легко, очевидно объяснить её кодом — нет.
Я думаю вы не до конца понимаете что это за модуль и вам действительно нужно сделать свой. Этот модуль слишком навороченный. Вам нужно попроще.Я прекрасно понимаю, «что это за модуль». Просто я хочу донести как можно более обоснованно и деликатно, что реализация его далека от идеала.
Этот модуль слишком навороченный. Вам нужно попроще.Навореченный? Нет. Избыточно сложный в реализации — да.
Да хоть 140 пусть пустых будет! Какая разница, если они должны быть пустыми, значит так и будет. Или вы предлагаете ошибки пользователям отображать??)) Что с ними делать, если никак нельзя страховать ошибку?Я ничего не предлагаю. Я просто говорю, что повсеместно глушить ошибки — это плохой «запах» кода. Читайте классиков программирования. Да и далеко не одних catch-ах проблема, это просто пример.
Я же написал, что можно на лету хоть видео конвертировать. И ваши примочки, особенно DRM — для меня, как дьявол какой-то. Я категорически против любых DRM. Это всё от лукавого.Очевидно, что Google (создатели DASH), Microsoft (создатели SmoothStreaming) так не считают.
Что вообще вам надо??? Вы видели моё приложение Media Library?? Как там из пиринговых сетей воспроизводится видео хоть HD, хоть 4К формата прямо на телефоне. У меня скорость интернета на телефоне через 4g 15-30 м\бит… Этого достаточно для того что бы сказать, что все ваши видео примочки не нужны больше. Настало новое время. Достаточно просто http плеера.
Обрезая качество мы выкидываем слова из песни и в итоге люди не владеют всей информацией.Лучше просмотреть видео в качестве 480p вместо 720р, чем не посмотреть вовсе. Разве нет?
Это большая ошибка!
Сейчас ни у кого в городах нет на столько больших проблем с интернетом, что бы не посмотреть видео hd формата.Ошибаетесь. Например на Украине до недавнего времени 3G вообще не был распостраненен, а на текущий момент один из ведущих операторов Киевстар обещает покрыть областные города только к 2016 году.
Лучше просмотреть видео в качестве 480p вместо 720р, чем не посмотреть вовсе. Разве нет?
Android MediaPlayer. Расширяем возможности с помощью прокси