Что-то как будто-то не то:) У вас все методы suspended и при этом же возвращают результаты через коллбэки? Но зачем? suspended и делались, чтобы избавиться от всего этого.
Ваш MainDispatcher для iOS вроде не будет работать во всех случаях. Воткните delay(...) в общем коде и наблюдайте, что ничего не работает. По крайней мере так раньше было.
Ну смотрите. Сможет приложение Кошелёк работать с бэком, скажем, который для Кинопоиска — просто так нет. Но если идти по правилам Clean и не связывать слои и потом сделать адаптер бека Кинопоиска к бизнес сущностям Кошелька, то в целом наверное можно. Но зачем?!:) Но именно это и описывает и для этого и предназначается, то, о чём говорит в своей книге дядюшка Боб.
Просто я этим и занимаюсь. У нас видео приложение с нашей бизнес-логикой и мы хотим, чтобы оно умело работать с разными серверам вообще от разных систем с разным апи. И это куча работы и связок.
Для чего это обычным приложениям?
В одном из проектов CardsInteractor из domain-слоя обращается напрямую в CardsRepository из data-слоя, что нарушает последний принцип SOLID
Не мой проект, но немного не соглашусь. Вы там дальше предлагаете создавать лишний интерфейс. Но в мобильных клиент-сервервных приложениях так это и останется висеть навсегда. В книге же дядя Боб описывает, что бизнес сущности(в этом случае интеракторы) не должны зависеть от нижних слоёв. Но для мобилок это не существенно. Приложения — это сателлит к серверу. Никто не меняет апи/сервер на лету у приложения, проще написать приложение под новый сервер..
Чорт. У нас сейчас тоже очень похожая проблема c ExoPlayer. Видео играет несколько секунд, stall на 0.5 сек, играет, stall,… а в логах — audio buffer underrun.
Посмотерел в wireshark… большие пакеты действительно сами фрагментируются и собираются.
На клиенте делать ничего не надо. Вопрос гарантируется ли собранный пакет или там могут быть не все фрагменты?
Я тоже понемногу разбираюсь с получением голого потока.
Возможно зря отказались в разделения пакета.
1) Что будет, если вы отправите пакет over mtu размер? Пакет просто дропнется на источнике?
2) То что куски пакетов не нужно пихать в разные буферы медиакодека это так. По хорошему бы наверное надо дожидаться всех частей одного пакета, склеивать их и отдавать в медиакодек.(но помним про реордеринг и потери в udp).
Ну на мобилках он очень хорош для динамического UI, когда бизнес хочет быстро менять что-то и собирать профит. Представьте, что поменять местами две ленты данных на UI вам может обернуться в 2 недели ревью в аппсторе, а потом окажется, что юзеры дизлайкают это и о потом ещё 2 недели возвращать всё. Ссылка1, Ссылка2, Ссылка3
А на маке почему то VLC не хочет играть udp поток. Пробовал и новый и старый, старые версии вообще падают. Хотя VLC отлично играет и файл созданный напрямую и через mediamuxer, а через сеть не хочет. Может кто-то пробовал голый h264 по udp на маках?
Это тренд по-ходу) Многие компании почему-то забивают на поддержку планшетов(или как минимум откладывают в долгий ящик)
Скажем судя по гуглу кол-во Андроид планшетов, не более 15%. А при разработке часто надо делать отдельную вёрстку каждого экрана для лендскейпа.
Что-то как будто-то не то:) У вас все методы suspended и при этом же возвращают результаты через коллбэки? Но зачем? suspended и делались, чтобы избавиться от всего этого.
Ваш MainDispatcher для iOS вроде не будет работать во всех случаях. Воткните delay(...) в общем коде и наблюдайте, что ничего не работает. По крайней мере так раньше было.
Ну смотрите. Сможет приложение Кошелёк работать с бэком, скажем, который для Кинопоиска — просто так нет. Но если идти по правилам Clean и не связывать слои и потом сделать адаптер бека Кинопоиска к бизнес сущностям Кошелька, то в целом наверное можно. Но зачем?!:) Но именно это и описывает и для этого и предназначается, то, о чём говорит в своей книге дядюшка Боб.
Просто я этим и занимаюсь. У нас видео приложение с нашей бизнес-логикой и мы хотим, чтобы оно умело работать с разными серверам вообще от разных систем с разным апи. И это куча работы и связок.
Для чего это обычным приложениям?
Именно так. А делать это на мобилках для того чтобы соблюсти последнюю буковку в soliD между слоями — супер избыточно, имхо.
Не мой проект, но немного не соглашусь. Вы там дальше предлагаете создавать лишний интерфейс. Но в мобильных клиент-сервервных приложениях так это и останется висеть навсегда. В книге же дядя Боб описывает, что бизнес сущности(в этом случае интеракторы) не должны зависеть от нижних слоёв. Но для мобилок это не существенно. Приложения — это сателлит к серверу. Никто не меняет апи/сервер на лету у приложения, проще написать приложение под новый сервер..
Ну для видеозвонков тоже есть эта проблема(особенно для протоколов на базе tcp). Поэтому всё таки проблема сети в основе.
Ну вообще-то в интернете куча статей об ItemDecoration начиная с 16-17 года)
Эх. "Надо не кровати переставлять.."
WakeLock'и тоже не спасали?
Чорт. У нас сейчас тоже очень похожая проблема c ExoPlayer. Видео играет несколько секунд, stall на 0.5 сек, играет, stall,… а в логах — audio buffer underrun.
Посмотерел в wireshark… большие пакеты действительно сами фрагментируются и собираются.
На клиенте делать ничего не надо. Вопрос гарантируется ли собранный пакет или там могут быть не все фрагменты?
Я тоже понемногу разбираюсь с получением голого потока.
Возможно зря отказались в разделения пакета.
1) Что будет, если вы отправите пакет over mtu размер? Пакет просто дропнется на источнике?
2) То что куски пакетов не нужно пихать в разные буферы медиакодека это так. По хорошему бы наверное надо дожидаться всех частей одного пакета, склеивать их и отдавать в медиакодек.(но помним про реордеринг и потери в udp).
Ну на мобилках он очень хорош для динамического UI, когда бизнес хочет быстро менять что-то и собирать профит. Представьте, что поменять местами две ленты данных на UI вам может обернуться в 2 недели ревью в аппсторе, а потом окажется, что юзеры дизлайкают это и о потом ещё 2 недели возвращать всё.
Ссылка1, Ссылка2, Ссылка3
А на маке почему то VLC не хочет играть udp поток. Пробовал и новый и старый, старые версии вообще падают. Хотя VLC отлично играет и файл созданный напрямую и через mediamuxer, а через сеть не хочет. Может кто-то пробовал голый h264 по udp на маках?
А вы точно о сборках билдов CI?) Или о самом Space?)
Сборки на маках пока не доступны? Если доступны, то цена такая же как для линукса?
Это тренд по-ходу) Многие компании почему-то забивают на поддержку планшетов(или как минимум откладывают в долгий ящик)
Скажем судя по гуглу кол-во Андроид планшетов, не более 15%. А при разработке часто надо делать отдельную вёрстку каждого экрана для лендскейпа.
Apple — это религия. А за религию надо платить.
Всем это кому?) И догнать в чём?) На сколько помню революции какой-то не было…
На улицах у людей наблюдаю все вариации наушников сейчас.
Так обычными блютуз наушниками за 700р тоже можно) Ну кроме Сири конечно..