Audio Switcher поломан [Исправлено]

Автор Evgeniy1990, 10 марта 2018, 07:10:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

Цитата: Aleksoid1978Ну или, по хорошему, перечислить все указанные в настройках.
А зачем? Ради юзеров, которые что-то включают в драйвере, но при этом им влом выключить одну галку в плеере?
Имхо, проблемы нет.

Evgeniy1990

Цитата: V0ltА зачем? Ради юзеров, которые что-то включают в драйвере, но при этом им влом выключить одну галку в плеере?Имхо, проблемы нет.
Не мы что-то включаем в драйвере, а сами драйвера уже идут с такими вот включенными опциями, на подобии "GX" .
Лучше сделать так, как предложил Aleksoid1978 - по хорошему.
[merge_posts_bbcode]Добавлено: 2018-03-12 13:22:32[/merge_posts_bbcode]

V0lt, ваши слова прозвучали так, будто мы вот специально что-то включаем, как нефиг делать, но это не так.
"GX" по умолчанию уже включен, после установки драйвера. Да и на других дискретных звуковых картах есть подобные опции, которые также по умолчанию включены. Особенно это касается более дорогих моделей.

[merge_posts_bbcode]Добавлено: 2018-03-12 13:24:28[/merge_posts_bbcode]

Лично мне - не влом выключить одно из двух - или "GX", или "Float", но суть в том, что по умолчанию с настройками драйвера и плеера происходит некорректная работа, а это не есть хорошо.

[merge_posts_bbcode]Добавлено: 2018-03-12 13:28:08[/merge_posts_bbcode]

Не понимаю, что плохого в том, чтобы для так вот звуковых карт, или же специфичных случаев, реализовать более грамотный код?
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Все таки надо сделать так чтобы переключатель выдавал несколько выходных типов, в зависимости от настроек.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Тогда задачка. Что делать если декодер выдает несколько медиатипов? Как будете сопоставлять их с выходными? Или не будете?
[merge_posts_bbcode]Добавлено: 2018-03-12 18:07:34[/merge_posts_bbcode]

Помню была идея сделать один запасной 16-бит стерео и все.

LongKick64


Aleksoid1978

У меня тоже мысль сделать просто доп. 16 бит, но не стерео, а какой есть формат.
[merge_posts_bbcode]Добавлено: 2018-04-17 22:04:17[/merge_posts_bbcode]

Попытался создать на выходе дополнительный формат 16bit. Формат то создать получилось - но блин там все так не просто в коде, поэтому не работает, "не цепляется" аудио-переключатель к этому формату ...

Но есть другая мысль - сделать примерно как в аудио-декодере, проверять возможности последующего фильтра. И на основе этого уже создавать выходной тип, вместе с настройками ессно.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Aleksoid1978
Ты в декодере пытаешься прикрутить 16-бит? :O

Aleksoid1978

При чем здесь декодер. Я про переключатель говорю.
[merge_posts_bbcode]Добавлено: 2018-04-17 23:38:39[/merge_posts_bbcode]

Нет - так не получиться. Нельзя заранее проверить, жаль.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Aleksoid1978

Проверяем тестовый билд. https://yadi.sk/d/iPmS-zad4WarUA
Я в нем сделал fall-back на 16bit, если на текущем формате не удается. Для 100% проверки что вывод будет во float - галку поставить и включить авто-регулировку громкости(тогда аудио-переключатель 100% будет пытаться вывести в float).
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978,
ЦитироватьПроверяем тестовый билд. https://yadi.sk/d/iPmS-zad4WarUA
Я в нем сделал fall-back на 16bit, если на текущем формате не удается. Для 100% проверки что вывод будет во float - галку поставить и включить авто-регулировку громкости(тогда аудио-переключатель 100% будет пытаться вывести в float).
Проверил тестовый билд. Проблема с отсутствующим аудиопереключателем и внешним аудио декодером исправлена, при условии: GX + Float + DirectSound на ASUS Xonar DG.

Интересно...

Надо будет более тщательно проверить на различных драйверах:

1. Официальные с сайта asus.com
2. Daniel Kawakami
3. UniXonar

У Daniel этого бага нет, т.к. там иначе реализован GX, он внутри драйвера и не вынесен как отдельная опция (настройка).

Те, что с сайта asus.com  - на них в вашем тестовом билде баг исправлен, но не работает переключение формата аудио, ни автоматическое, ни ручное, даже если выключить GX.

UniXonar - с ними ерунда какая-то... Плеер пытается вывести звук во Float, при этом не может, перебирает возможные форматы, но так и ничего не находит. В итоге звука нет вообще, как и декодера с рендерером. Очень странно...

Ладно, с UniXonar я еще поиграюсь позже. Сами эти драйверы вообще какие-то нестабильные. Даже при их установке выскакивает ошибка о том, что установщик не может найти или определить звуковую карту ASUS серии Xonar.

Добавлено: 2020-02-13 11:29:55

Aleksoid1978,
Все-таки странно... Переключение форматов аудио то работает, то не работает, то при переключении пропадает вообще звук. Это в вашем тестовом билде. Т.е. основная проблема исправлена, но с переключением форматов, особенно на лету, какой-то рандом творится.


Добавлено: 2020-02-13 11:43:47

Aleksoid1978,
Внимательно понаблюдал за сменой форматов вывода аудио в вашем тестовом билде.

Логика такая:

1. Условие: настройки плеера и аудио драйвера по умолчанию (GX в драйвере включен по умолчанию)

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

2. Условие: настройки плеера по умолчанию, в аудио драйвере выключаю только GX

Запускаю некий видео файл и пробую менять форматы вывода аудио.
В итоге - они меняются на лету во время воспроизведения, это очень заметно и слышно, но при этом в аудио декодере, в его статусной строке всегда Float.

Т.е. формат вроде как сменился (изменился), но в статусе аудио декодера все так и осталось без изменений.
Вот в чем странность. Получается, что формат вывода аудио не изменился вообще, хотя было отчетливо слышно его изменение на лету во время воспроизведения.

P.S. Естественно, после включения, или отключения GX необходимо обязательно перезапускать плеер.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

При чем здесь смена формата аудио и декодер, формат меняется в аудио-переключателе.

Добавлено: 2020-02-13 18:55:30

Надо смотреть на выход в аудио-переключателе после смены. Ну и сравнивать с SVN.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978,
ЦитироватьПри чем здесь смена формата аудио и декодер, формат меняется в аудио-переключателе.
Да я знаю, что формат вывода аудио меняется в аудиопереключателе.

Беру и меняю формат с Float на обычный int32 и вижу, что в статусе аудиодекодера в Output так и остался Float.
Для сравнения проверил в LAV Audio Decoder. Изменил в нем формат с Float на Int32 и в его статусе, в разделе Output именно Int32. А у нас всегда Float.
ЦитироватьНадо смотреть на выход в аудио-переключателе после смены. Ну и сравнивать с SVN.
Ну посмотрел я и ничего не увидел. Что я там должен увидеть? Разве что на слух понять и услышать, что произошла смена формата вывода аудио.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Не тормозить - формат вывода в декодере не меняется. Смотреть надо выходной пин в переключателе.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Не тормозить - формат вывода в декодере не меняется. Смотреть надо выходной пин в переключателе.
Проверил выходной пин аудио переключателя.

При смене на Int32 показывает wBitsPerSample: 32
При смене на Int24 показывает wBitsPerSample: 16

Почему 16, а не 24? Странно...
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

24 бита наверное не поддерживает, проверь в SVN и сравни.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215