2016-02-24 1 views
2

Я тестирую свое приложение WebRTC в Firefox, и кажется, что Firefox не собирает кандидатов ICE, пока и пока окно Firefox не будет в фокусе ?! При использовании двух отдельных окон браузера на одном компьютере один из них, очевидно, всегда не является самым передним окном. Журнал сообщает мне, что Firefox останавливается в точке, где предполагается начать сбор кандидатов ICE, пока я явно не нажму на окно, чтобы привлечь его внимание, после чего начинается сбор кандидатов и вскоре после установления соединения. Я могу переключать окна в любое время после запуска процесса, он завершится успешно; но окно, по-видимому, должно быть сосредоточено в начале процесса.Firefox не собирает кандидатов ICE, если окно не находится в фокусе?

Нет такого поведения в Chrome, он всегда собирает кандидатов в любом состоянии.

Это известное поведение? Есть ли обоснование для этого, или это ошибка?

Firefox 44.0.2 на OS X El Cap

+1

Одд, она отлично работает для меня в Firefox 44.0.2 с [эта скрипка] (https://jsfiddle.net/2v1Lnpmx/) был открыт в двух вкладок/окон. Я тоже на OSX El Cap. Работает ли эта скрипка для вас? – jib

+0

Я полагаю, что в вашем приложении/каркасе может быть ошибка при обработке событий, которая может вызвать это. – jesup

+0

@jesup Единственное, что могло бы объяснить это, - это то, что Objecter.defineProperty, определяющие сеттеры, не будут запускаться в фоновом режиме. Есть идеи об этом? Мне нужно будет еще немного протестировать ... – deceze

ответ

3

Скрытые вкладки или окна в Firefox не могут включать камеру. Лично я чувствую себя немного безопаснее, зная это.

Даже если вы выбрали «Всегда делиться», камера не будет активирована, пока вы не скроете окно.

Из комментариев звучит так, как будто это происходит в вашем случае.

В отличие от этого, this fiddle отлично работает с двух вкладок, поскольку только страница, на которую пользователь нажимает кнопку (сторона отправителя), обращается к камере.

This code section intentionally left blank. 
2

Ничего, это не кандидаты ICE, он был getUserMedia, который блокирует, если Firefox не является активным окном. Асинхронный характер моего кода сделал это менее очевидным, чем должно было быть. Такое поведение, по-видимому, по дизайну и описано здесь: https://bugzilla.mozilla.org/show_bug.cgi?id=1195654.

Смежные вопросы