LINUX.ORG.RU
ФорумTalks

Мейнтейнер мультимедийной подсистемы Firefox пояснил за PulseAudio и отказ от Alsa

 , , ,


0

2

Supporting two separate audio backends in Linux is duplicated effort.
I took over the platform media playback team at Mozilla a little over 3 years ago. At that point we only supported WebM/VP8/Vorbis, Ogg/Theora/Vorbis and Wave as well as MP3 on Windows and some additional codecs including MP4/H.264/AAC on a small number of Android phones. At that time most media in the browser ran in Flash.
Since then we’ve added words like MP3, MP4, H.264, VP9, Opus, AAC, HE-AAC, MSE and EME to our vocabulary. DASH and HLS are handled by site Javascript using MSE. A massive amount of effort has gone into making everything parallel so we can get as many pixels to the screen as possible. We’re working on platform specific performance improvements on Windows, Linux and Mac. We’re also doing some work to protect ourselves against driver crashes on Windows and Android.
We are seeing an explosion of interest in HTML5 video and the accompanying audio is going through libcubeb, our audio backend. We’ve added low latency support to libcubeb for WebAudio and full duplex support so we can use it directly for microphone input for WebRTC.
Our official Firefox builds on Linux support both PulseAudio and ALSA. There are a number of additional contributed backends that can be turned on at compile time, although contribution towards long-term maintenance and matching feature parity with the actively developed backends has been low. On Linux, we actively maintain the PulseAudio backend but we also approach the PulseAudio developers when we see issues in PulseAudio. The PulseAudio developers are generally good to work with.
The most problematic backend across all platforms is ALSA. It is also missing full duplex support. We are intending to add multichannel (5.1) support across all platforms and the ones that don’t make the cut will be the ALSA backend and the WinMM backend used on Windows XP.
Our ALSA backend has fallen behind in features, it is buggy and difficult to fix. PulseAudio is contrastingly low maintenance. I propose discontinuing support for ALSA in our official builds and moving it to off-by-default in our official builds.
Leaving all the ALSA code in tree gives people the opportunity to continue maintaining the ALSA backend. Re-enabling it would require bringing it up to the same standard as other backends, not only in terms of current state but also in terms of consistency of contribution.
As a long time Linux user, I want to get the most value out of our efforts on Linux. I can do that by focusing our efforts on the things that will have the greatest impact. Sometimes that requires taking a step back and deciding to do one thing well instead of two things poorly.
Just to be clear, I’m proposing we stop spending time on ALSA so we can spend that time on adding 5.1 audio support to our PulseAudio backend.

Коротко на русском: Две подсистемы звука — две проблемы. В ALSA отсутствует полнодуплексная поддержка. Мы хотим добавить многоканальную 5.1 поддержку на всех платформах, а ALSA является наиболее проблематичным бэкэндом, в нем мало фич и его сложно исправлять. PulseAudio же гораздо легче обслуживать, поэтому мы исключаяем ALSA из официальной сборки, но оставляем ее в качестве опции для компиляции. Я считаю, что мы должны прекратить тратить время на ALSA, чтобы потратить его на поддержку 5.1 в PulseAudio. Но ALSA может вернутся в основную ветку, если его доведут до вменяемой поддержки и функциональности.(c)

Подробности

Перемещено Shaman007 из linux-general



Последнее исправление: Valman_new (всего исправлений: 1)

Ответ на: комментарий от anonymous

Не нужны тут только такие ненужные комментарии, а лис и PulseAudio являются единственно возможными решениями для Linux в данный момент.

anonymous
()
Ответ на: комментарий от anonymous

Разработчики сами в очередной раз подтвердили, что не в состоянии поддерживать свое творение. Еще 5-6 релизов и будет Firechrom, на дефолтном движке.

selishii
()

Явно не тянет на новость (уж в таком виде точно). Для толксов максимум.

Ну если опция компилляции будет оставлена, то пофиг. Если поддержка ALSA отвалится совсем со временем, придётся искать альтернативу… Которой нет. uzbl как-то не шевелится, dwb тоже как-то подзаглох…

Psych218 ★★★★★
()
Ответ на: комментарий от Psych218

Скорее всего да, совсем. Я не уверен, что альсу допилят до приемлимого мейнтейнерами состояния в данных момент.

А как будет тянуть на новость-то?)

Valman_new
() автор топика
Ответ на: комментарий от Valman_new

А как будет тянуть на новость-то?)

Ну как минимум без гопник-сленга («пояснил за») в заголовке и огромной простыни (тупо копипасты с баг-трекера) английского текста…

Да никак наверное, на самом деле не будет. Ну пояснил и пояснил, и так было вроде понятно, а про то, что по дефолту в 52 убрали, уже было в новости про 52. Но решать модераторам в любом случае.

Psych218 ★★★★★
()
Ответ на: комментарий от Psych218

Если поддержка ALSA отвалится совсем со временем,
We're not intending to remove ALSA support in cubeb or at compile time. ©

придётся искать альтернативу

А что такого ужасного в PA?

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 2)
Ответ на: комментарий от sudopacman

А что такого ужасного в PA?

Ужасного наверное ничего, просто оно не нужно. Мне лично. Совсем. Создаёт проблемы, но не решает ни одной задачи (ну кроме работы браузера, если вдруг без ALSA он работать со звуком перестанет). Ради браузера вкорячивать лишний компонент и пускать весь звук через него нецелесообразно — проще сменить браузер. Хотя есть ещё вариант с apulse — через него будет только firefox, и такой подход меня устроит. Но пока-то всё и так работает, та что рано искать пути отступления (apulse, смена браузера, ещё что).

We're not intending to remove ALSA support in cubeb or at compile time.

Ну пока понятно. Но нет гарантии, что оно через пять-шесть (или десять, или двадцать) версий не перестанет нормально собираться.

Psych218 ★★★★★
()

пояснил за PulseAudio и отказ от Alsa

Откуда вы беретесь такие гопники? «За жизнь поговорим», «за дела перетрем», «за пульсаудио проясним». Ты что в семье гопорей воспитывался??

anonymous
()

Разлюбезная моя компания Opera!

С тех пор, как ты прекратила поддержку Linux, конкуренты совсем обнаглели. Google Chrome прекратил поддержку NPAPI, хотя это был единственный способ смотреть аппаратно ускоренное видео. А ещё компения Google выпустила пресс-релиз, в котором сказала «аппаратного ускорения видео в Linux не планируется». Mozilla Firefox прекратил поддержку ALSA. Якобы она не поддерживает 5.1 и дуплекс. Интересно, им вообще пофиг что врать? Или они реально не знают что Pulse работает через ALSA - а значит, если бы этих фич действительно не было в ALSA, то их бы не было и в Pulse? А ещё он всё больше становится Хромом - хоть движок по-прежнему и свой.

А ещё сообщество пользователей Linux было «приятно» озадачено компанией Google: «мы решили заюзать суперновую фичу ядра Linux для более лучшего Sandbox». Интересно что ещё не вышедший Debian Stable имел уже устаревнее для Google Chrome ядро! Ребятам пришлось бэкпортировать изменение.

В общем, без тебя стало плохо. Возвращайся, Opera! Ты была быстрая, отзывчивая, фичастая, и при этом не требовательная к ресурсам.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

У Mozilla не хватает ресурсов на поддержку голой ALSA. Опять-таки, pulseaudio бы не разработали, не будь в alsa проблем с монопольными захватами аудио карты и регулированием громкости отдельных приложений. Если вы так хотите, можете помочь мозилловцам. Опенсорс на то и рассчитан, вам всем нужно - вы и поддерживайте. Мне тоже не нравится этот лишний слой между «звуком» и картой, но что поделать.

datafile4
()
Ответ на: комментарий от datafile4

Странно - ты 14-го года. Значит, не ньюфаг. А такие заблуждения произносишь.

Проблемы с монопольным захватом звука были до 2012 года, когда поддержка эмуляции OSS была включена по умолчанию. Было достаточно запустить Unreal Tournament 99, вышедший до ALSA. Сейчас такой проблемы не существует.

> У Mozilla не хватает ресурсов на поддержку голой ALSA.

Почему-то их хватает у Mumble, Audacity, QMMP, OpenAL, MPlayer, FFmpeg, хотя они - некоммерческие проекты, не зарабатывающие миллионы долларов в год. Зато у Mozilla хватает денег на внедрение DRM.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)

Кому-то явно занесли агенты красношапки!

Harald ★★★★★
()
Ответ на: комментарий от anonymous

он стал не нужен для меня когда я узнал хорошо chromium и было это ой давненько

dima1981
()

PulseAudio же гораздо легче обслуживать

Ну, собственно, я об этом говорил ещё лет 7 назад в срачах о пульсе

/thread

redgremlin ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Почему-то их хватает у Mumble, Audacity, QMMP, OpenAL, MPlayer, FFmpeg

Там нет песочницы

fornlr ★★★★★
()

На самом деле под линкксом, что с аудио, что с видео полная опа.

Разработчики логично избавились от балласта.

fornlr ★★★★★
()
Ответ на: комментарий от redgremlin

а как его в терминале использовать? на хоткеи прицепить например? сорри за нубский вопрос, но когда интересовался яего то типпа такого

/usr/bin/amixer set Master 1+ toggle
не было в пульсе, отчего и сижу до сих пор на alsa и в принципе устраивает.

dima1981
()
Ответ на: комментарий от redgremlin

благодарю. а как pulseaudio без x11-common поставить в ubuntu, чтобы при этом pactl смогла работать?

dima1981
()
Ответ на: комментарий от redgremlin

на данный момент я ставлю alsa-utils всегда и мне хватает с головой и размер минимальный и зависимостей почти нет, не более 3 метров, не суть но тем неменее, зачем мне больше если можно меньше с точки зрения практичнности.

dima1981
()
Ответ на: комментарий от anonymous

Откуда вы беретесь такие гопники? «За жизнь поговорим», «за дела перетрем», «за пульсаудио проясним». Ты что в семье гопорей воспитывался??

Это обычные южные диалекты русского языка, перенявшие замену предлога «про» на «за» под влиянием украинской мовы. Нужно быть сдержаннее и если что-то не понятно, то нужно не обзываться, а посмотреть на причины такого использования.

Русский язык развивается и перенимает в себя различные украинизмы и англицизмы, не вижу в этом ничего плохого.

EXL ★★★★★
()
Ответ на: комментарий от entefeed

а пульса в конечном итоге звук через что играет, по-твоему?

Harald ★★★★★
()

Я считаю, что мы должны прекратить тратить время на ALSA, чтобы потратить его на поддержку 5.1 в PulseAudio.

Через год:

Я считаю, что мы должны прекратить тратить время на Xorg, чтобы потратить его на поддержку Wayland и GTK+3.

И это здорово! Теперь не только красная шапочка гонит пользователей GNU/Linux в светлое будущее, но и разработчики софта. Такой подход не может не радовать.

EXL ★★★★★
()
Ответ на: комментарий от redgremlin

и еще интересно есть ли в pulseaudio что то типа alsamixer терминальное, если ты вкурсе конечно?

dima1981
()
Ответ на: комментарий от EXL

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

dima1981
()
Ответ на: комментарий от redgremlin

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

dima1981
()
Ответ на: комментарий от dima1981

pactl set-sink-mute 5%+ unmute сработает?

Нет. mute — это mute, volume — это volume. И ты не указал, какой sink unmute'ть
pactl set-sink-mute @DEFAULT_SINK@ 0 // 1 — mute, 0 — unmute, toggle — toggle
pactl set-sink-volume @DEFAULT_SINK@ +5% // если указанная тобой команда повышает громкость на 5%, а не устанавливает в 5%, я уж лет 10 alsa-utils в руки не брал и не знаю точно, что ты имеешь ввиду таким синтаксисом

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

именно это и имел ввиду, прибавить на 5%. только вот терминальный миксер для пульсы бы и как ее без иксовых зависимостей поставить, чтоб не весь pulseaudio а что то типа pactl отдельно, но чтоб пульса заработала.

dima1981
()
Ответ на: комментарий от redgremlin

да это и имею ввиду, не из ядра, юзаю дефолтные ядра которые дает ubuntu.

dima1981
()
Ответ на: комментарий от dima1981

только вот терминальный миксер для пульсы бы и как ее без иксовых зависимостей поставить, чтоб не весь pulseaudio а что то типа pactl отдельно, но чтоб пульса заработала.

В генте можно собрать пульсу без Х, но подозреваю что в других дистрах никто таким извращением страдать не будет.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

тогда мигрировать еще рано, а про генту предполагал, а если собирать то наверное и в остальных можно так сделать дистрах, вроде все же linux поддерживают сборку из исходников с флагами

dima1981
()
Ответ на: комментарий от dima1981

Если у тебя гента, рач или слака, то ты и сам знаешь что можно собрать, а если не знаешь(про свой дистр), то зачем тебе собирать без иксов?

Loki13 ★★★★★
()
Ответ на: комментарий от Psych218

вкорячивать лишний компонент

а чем такой подход принципиально отличается от использования apulse, который тоже является “лишним компонентом”?

f1u77y ★★★★
()
Ответ на: комментарий от Loki13

нет, не мыло, не сосок и не свалка, а бунтарь на котором не юзаю иксов, вот зачем

dima1981
()
Ответ на: комментарий от Psych218

Если поддержка ALSA отвалится совсем со временем, придётся искать альтернативу… Которой нет. uzbl как-то не шевелится, dwb тоже как-то подзаглох…

Зачем, сидите просто без звука и всё.

d_a ★★★★★
()
Ответ на: комментарий от f1u77y

apulse тоже лишний компонент, но через него будет работать только firefox. В этом принципиальное отличие. Остальное работает напрямую, нет постоянно запущенного демона и т. д.

Psych218 ★★★★★
()
Ответ на: комментарий от sudopacman

А что такого ужасного в PA?

Ужасно, что это работающий из коробки мейнстрим. Ъ-линуксоиды привыкли к страданиям, костылям и 1%. И ещё потому что Поцтеринг.

user42 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.