Я использую Firefox для запуска моего веб-приложения (которое воспроизводит видео). Я нахожусь на Debian 8 с Firefox 48.0.1. Некоторые из моих видео имеют звук, а некоторые нет. Каждое видео отображается через порт HDMI. Я хочу, чтобы финальный телевизор воспроизводил звук (все еще через HDMI).

Когда воспроизводится видео со звуком, иногда есть звук, иногда нет. Я понял это, используя часть этой статьи.

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

pacmd list-sinks
pacmd list-sink-inputs

Вот именно моя проблема:

pacmd  list-sinks
2 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: RUNNING
suspend cause: 
priority: 9950
volume: front-left: 75368 / 115% / 3,64 dB,   front-right: 75368 / 115% / 3,64 dB
        balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 7,85 ms
max request: 1 KiB
max rewind: 64 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stéréo
used by: 1
linked by: 3
configured latency: 10,00 ms; range is 0,50 .. 371,52 ms
card: 0 <alsa_card.pci-0000_00_03.0>
module: 6
properties:
    alsa.resolution_bits = "16"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "HDMI 1"
    alsa.id = "HDMI 1"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "7"
    alsa.card = "0"
    alsa.card_name = "HDA Intel HDMI"
    alsa.long_card_name = "HDA Intel HDMI at 0xf7214000 irq 66"
    alsa.driver_name = "snd_hda_intel"
    device.bus_path = "pci-0000:00:03.0"
    sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
    device.bus = "pci"
    device.vendor.id = "8086"
    device.vendor.name = "Intel Corporation"
    device.product.id = "160c"
    device.product.name = "Broadwell-U Audio Controller"
    device.form_factor = "internal"
    device.string = "hdmi:0,1"
    device.buffering.buffer_size = "65536"
    device.buffering.fragment_size = "32768"
    device.access_mode = "mmap+timer"
    device.profile.name = "hdmi-stereo-extra1"
    device.profile.description = "Digital Stereo (HDMI)"
    device.description = "Audio interne Digital Stereo (HDMI)"
    alsa.mixer_name = "Intel Broadwell HDMI"
    alsa.components = "HDA:80862808,80860101,00100000"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-pci"
ports:
    hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: yes)
        properties:
            device.icon_name = "video-display"
            device.product.name = "SyncMaster"
active port: <hdmi-output-1>


index: 1
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: IDLE
suspend cause: 
priority: 9959
volume: front-left: 31457 /  48% / -19,13 dB,   front-right: 31457 /  48% / -19,13 dB
        balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 19,73 ms
max request: 3 KiB
max rewind: 64 KiB
monitor source: 1
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stéréo
used by: 0
linked by: 1
configured latency: 20,00 ms; range is 0,50 .. 371,52 ms
card: 1 <alsa_card.pci-0000_00_1b.0>
module: 7
properties:
    alsa.resolution_bits = "16"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "ALC283 Analog"
    alsa.id = "ALC283 Analog"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "0"
    alsa.card = "1"
    alsa.card_name = "HDA Intel PCH"
    alsa.long_card_name = "HDA Intel PCH at 0xf7210000 irq 62"
    alsa.driver_name = "snd_hda_intel"
    device.bus_path = "pci-0000:00:1b.0"
    sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
    device.bus = "pci"
    device.vendor.id = "8086"
    device.vendor.name = "Intel Corporation"
    device.product.id = "9ca0"
    device.product.name = "Wildcat Point-LP High Definition Audio Controller"
    device.form_factor = "internal"
    device.string = "front:1"
    device.buffering.buffer_size = "65536"
    device.buffering.fragment_size = "32768"
    device.access_mode = "mmap+timer"
    device.profile.name = "analog-stereo"
    device.profile.description = "Stéréo analogique"
    device.description = "Audio interne Stéréo analogique"
    alsa.mixer_name = "Realtek ALC283"
    alsa.components = "HDA:10ec0283,1462b096,00100003"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-pci"
ports:
    analog-output-headphones: Casques analogiques (priority 9000, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-headphones"
active port: <analog-output-headphones>

Важная часть (резюме):

pacmd  list-sinks |grep index
* index: 0
  index: 1



pacmd list-sink-inputs
1 sink input(s) available.
index: 178
driver: <protocol-native.c>
flags: START_CORKED 
state: RUNNING
sink: 0 <alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1>
volume: front-left: 69844 / 107% / 1,66 dB,   front-right: 69844 / 107% / 1,66 dB
        balance 0,00
muted: no
current latency: 26,94 ms
requested latency: 10,00 ms
sample spec: float32le 2ch 44100Hz
channel map: front-left,front-right
             Stéréo
resample method: copy
module: 12
client: 7 <CubebUtils>
properties:
    media.name = "AudioCallbackDriver"
    application.name = "CubebUtils"
    native-protocol.peer = "UNIX socket client"
    native-protocol.version = "29"
    application.process.id = "1040"
    application.process.user = "myuser"
    application.process.host = "myuser-92"
    application.process.binary = "plugin-container"
    application.language = "fr_FR.UTF-8"
    window.x11.display = ":0"
    application.process.machine_id = "00d7bea9e5d14ced80bac1569196db8a"
    application.process.session_id = "1"
    module-stream-restore.id = "sink-input-by-application-name:CubebUtils"

Самая важная часть (резюме):

pacmd list-sink-inputs |grep index
index: 178

Этот второй индекс увеличивается каждый раз, когда мой браузер читает видео (со звуком или без). Затем Firefox полностью теряется и вообще не воспроизводит звук (иногда).

Есть 2 разных поведения. Firefox -> всегда только один индекс, каждый раз разные, с увеличивающимся числом Chrome -> создает свои собственные входные данные .. (см. Следующий код)

pacmd list-sink-inputs
2 sink input(s) available.
index: 194
driver: <protocol-native.c>
flags: START_CORKED 
state: RUNNING
sink: 0 <alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1>
volume: front-left: 69844 / 107% / 1,66 dB,   front-right: 69844 / 107% / 1,66 dB
        balance 0,00
muted: no
current latency: 27,07 ms
requested latency: 10,00 ms
sample spec: float32le 2ch 44100Hz
channel map: front-left,front-right
             Stéréo
resample method: copy
module: 12
client: 7 <CubebUtils>
properties:
    media.name = "AudioCallbackDriver"
    application.name = "CubebUtils"
    native-protocol.peer = "UNIX socket client"
    native-protocol.version = "29"
    application.process.id = "1040"
    application.process.user = "myuser"
    application.process.host = "myuser-92"
    application.process.binary = "plugin-container"
    application.language = "fr_FR.UTF-8"
    window.x11.display = ":0"
    application.process.machine_id = "00d7bea9e5d14ced80bac1569196db8a"
    application.process.session_id = "1"
    module-stream-restore.id = "sink-input-by-application-name:CubebUtils"
index: 195
driver: <protocol-native.c>
flags: START_CORKED 
state: RUNNING
sink: 0 <alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1>
volume: front-left: 75368 / 115% / 3,64 dB,   front-right: 75368 / 115% / 3,64 dB
        balance 0,00
muted: no
current latency: 16,19 ms
requested latency: 11,61 ms
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stéréo
resample method: (null)
module: 12
client: 1118 <Chromium>
properties:
    media.name = "Playback"
    application.name = "Chromium"
    native-protocol.peer = "UNIX socket client"
    native-protocol.version = "29"
    application.process.id = "21853"
    application.process.user = "myuser"
    application.process.host = "myuser-92"
    application.process.binary = "chrome"
    window.x11.display = ":0.0"
    application.language = "fr_FR.UTF-8"
    application.process.machine_id = "00d7bea9e5d14ced80bac1569196db8a"
    application.process.session_id = "1"
    module-stream-restore.id = "sink-input-by-application-name:Chromium"

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

У кого-нибудь есть идея?

Заранее спасибо.

Мастер Редактировать: вот несколько новых тестов

Я думал, что проблема была решена путем обновления Firefox до версии 51.0.1 . Входной приемник теперь остается прежним. У меня больше нет этой проблемы. Но есть и другие проблемы, связанные с версией 51.0.1 . После диапазона от 70 до 75 видео со звуком изображение не в форме. У меня та же проблема с индексом в версии 50.1.0 но при просмотре 200 видео один за другим ошибки не отображаются.

Редактировать 2: Когда создать одну страницу HTML с 2 видео со звуком. Создает 2 входа-стока ... Это официально ошибка.

0