WASAPI рендерер - периодический дроп пакетов. [Исправлено]

Автор Aleksoid1978, 11 апреля 2018, 14:18:53

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

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

Aleksoid1978

Да подождите, знаю я.
[merge_posts_bbcode]Добавлено: 2018-05-02 11:22:03[/merge_posts_bbcode]

Исправлено :)

[merge_posts_bbcode]Добавлено: 2018-05-02 12:20:41[/merge_posts_bbcode]

Сразу предупреждаю - с проигрыванием DVD все еще есть нюансы, так что про это(если кто найдет траблы) можно не писать.
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

Проблема №3: очень сильный разрыв (ускорение) кадров, при изменении режимов WASAPI на лету, во время воспроизведения.
Довольно неприятный резкий и ускоренный разрыв кадров видео, который также приводит к рассинхрону в конечном итоге.
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

Это мелочь :)
Вот точно - не надо было делать изменения параметров на лету. По большому счету 99.9% пользователей это не нужно, а гемороя вылазит куча ...
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Это мелочь :)
Вот точно - не надо было делать изменения параметров на лету. По большому счету 99.9% пользователей это не нужно, а гемороя вылазит куча ...
Согласен, а вот изменений звуковых устройств на лету - всем нужно. А данная "мелочь", как вы сказали, проявляется даже и при этом условии.
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

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

P.S. С таким(и похожими файлами) ничего не сделать. У них ОЧЕНЬ большие размеры одного звукового пакета(более 2 секунд). При изменении настроек/устройства очищается вся входящая очередь. Ну и ессно, чтобы "догнать" по времени - вот и рывок.

Была одно время мысль хранить в очереди "оригинальные" входящие пакеты, но не считаю это оправданным. Так что тут все остается как есть.
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Конкретно этот файл с PCM - там почему-то слишком большая очередь, отсюда и такой рывок.
В прежнем варианте аудио-рендерера с методами синхронизации такого сильного рывка не было - это первое.

Второе - я не так уж и давно писал вам о проблеме с пропаданием звука, при переключении звуковых устройств на лету, которая была на прежнем варианте аудио-рендерера с методами синхронизации. Так вот, вы тогда сделали очень хороший фикс, который раз и навсегда полностью окончательно решил проблему с пропаданием звука.  Он есть в прежнем аудио-рендерер с методами синхронизации, но после переделки встроенного аудио-рендерера он просто исчез. Возможно он бы помог нам решить проблему, которая есть в текущем встроенном аудио-рендерере - пропадание звука и мертвое зависание плеера.
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.

V0lt

Aleksoid1978
Я не вижу большой проблемы при временном пропадании звука при переключении устройств. Мы ведь не в носу ковыряем, а почти всю инициализацию проделываем.

ЦитироватьУ них ОЧЕНЬ большие размеры одного звукового пакета(более 2 секунд).
Встречал такие AVI-шки, лечить такое на стороне рендерера и декодера не стоит, перемудришь код.
Такое надо разрешать на стороне AVI-сплиттера (насколько помню в системном решено), но проблема в том, что наш сплиттер под такое не подстроить в принципе.
В общем забей. :)

Aleksoid1978

Забываем про то как раньше работал аудио-рендерер.
[merge_posts_bbcode]Добавлено: 2018-05-02 22:46:37[/merge_posts_bbcode]

Я не смог получить зависание при изменении настроек/вывода. И как уже говорил - записали в TODO и забыли. Этот баг(если он и есть) - из разряда "надо поймать баг" . В реальности такое "не встретишь"
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Забываем про то как раньше работал аудио-рендерер.
Раньше он нормально работал, не имел тех проблем, которые имеет сейчас.
Цитата: Aleksoid1978Я не смог получить зависание при изменении настроек/вывода. И как уже говорил - записали в TODO и забыли. Этот баг(если он и есть) - из разряда "надо поймать баг" . В реальности такое "не встретишь"
Непонятно, почему вы не можете воспроизвести пропадание звука, при изменении режимов WASAPI на лету, во время воспроизведения. У себя со второго, а если и нет, то с третьего раза - воспроизводится абсолютно на любой звуковой карте.

По поводу реальности - еще как встретишь. Приведу простой пример - открыл некий видео файл, решил переключить звук на другое звуковое устройство и бац - нет звука, плеер намертво завис. И даже его процесс не всегда удается нормально завершить.

Я, кстати написал, что эта проблема возникла с SVN r3545. Может все-таки стоит обратить внимание на эти изменения и попытаться хоть как-то их изменить, чтобы хоть звуковые устройства можно было переключать, не боясь, что вылетит эта проблема с потерей звука и дальнейшим зависанием?

Какой тогда был смысл всех этих переделок аудио-рендерера, если его основное преимущество в плане быстрого переключения звуковых устройств работает некорректно?
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

Быстрое переключение устройств и смена настроек на лету - это совершенно НЕ ОСНОВНОЕ преимущество, а так - приятный бонус :)
[merge_posts_bbcode]Добавлено: 2018-05-03 20:25:30[/merge_posts_bbcode]

По поводу небольшого изменения тональности - с ffmpeg просто так не получиться, ибо он "съедает" данные и только потом отдает. Т.е. в реальном времени никак. Есть мысль - обрабатываем, к примеру, первые 10 пакетов, и если разрыв "постоянный", тогда рассчитать ускорение и применять на все последующие пакеты.

И ещё одна тема с изменением скорости - при применении фильтра atempo от ffmpeg мы как-бы теряем оригинальные временные метки, т.к. сам фильтр это не поддерживает, он просто вычисляет. Поэтому на файлах где звук 23 совмещён с видео 25(пакеты идут с разрывами во временных метках) при ускорении скорее всего наблюдается рассинхрон. И вот его починить просто нет никакой возможности.
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

Проблема №4 - рассинхрон, после сброса скорости воспроизведения.
Проявляется на потоковых видео файлах, после сброса скорости воспроизведения.

Пример: открыть ссылку YouTube, увеличить скорость воспроизведения на 1.2х, а после сбросить ее на нормальную 1.0, затем обратить внимание на воспроизведение видео и особенно звука. В итоге будет рассинхрон.
[merge_posts_bbcode]Добавлено: 2018-05-13 20:03:35[/merge_posts_bbcode]

Цитата: Aleksoid1978Быстрое переключение устройств и смена настроек на лету - это совершенно НЕ ОСНОВНОЕ преимущество, а так - приятный бонус :)
Согласен, что приятный бонус, но им пользоваться невозможно. На второй - третий раз уже пропадает звук и намертво виснет плеер с воспроизводимыми видео файлами.

[merge_posts_bbcode]Добавлено: 2018-05-13 20:04:31[/merge_posts_bbcode]

Надо откатывать SVN r3545 и проверять.
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.

V0lt

Опять звукавушка не умеющая банальный float32 ? :|

Evgeniy1990

Цитата: V0ltОпять звукавушка не умеющая банальный float32 ? :|
Причем тут "звуковушка, не умеющаяя Float32?" Вы не в теме...

Я просто продолжаю писать о тех проблемах, которые еще остались, особенно при использовании встроенного аудио-рендерера "MPC Audio Renderer". А это как раз - рассинхрон, при определенных условиях, одно из которых я написал выше и конечно же - потеря звука, при переключении звуковых устройств и режимов WASAPI.

Рассинхрон полностью стабилен и воспроизводится всегда. А по поводу потери звука, при переключении звуковых устройств и режимов WASAPI, я буду проверять сам, раз вы не можете воспроизвести у себя эту проблему. Буду сам откатывать SVN r3545, ибо оно сомнительное и проверять, поскольку в SVN r3542 данный баг с потерей звука не проявляется. Но заодно также и еще раз тщательно проверю SVN r3542, чтобы уж точно окончательно убедиться. Ибо этот баг уже достал, поскольку вообще стало невозможно по-человечески переключать звуковые устройства, после переделки встроенного аудио-рендерера "MPC Audio Renderer".

Не хочу конечно вас обидеть, но не могу не сказать следующее:

После переделки встроенного аудио-рендерера его "ОБЩЕЕ" поведение стало ненормальным.
Под "общее" имеется в виду то, как он себя ведет в достаточно распространенных и часто используемых ситуациях.

1. Появилось пропадание звука, при переключении звуковых устройств и режимов WASAPI на лету, чего уж точно не было до переделок. Это огромный минус, так как этим стало вообще невозможно пользоваться.

2. Я уже писал об этом но повторюсь снова - огромный разрыв, при переключении звуковых устройств и режимов WASAPI на лету, примером является моя AVI-шка, чего также раньше точно не было. Это тоже не есть хорошо, ибо вызывает рассинхрон, пускай и не очень значительный. Но сам факт того, что он есть - это уже неправильно, соответственно еще один минус.

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

4. Также под огромным сомнением корректность работы изменения скоростей воспроизведения на определенных некоторых видео файлах, после последнего обновления ffmpeg. Это я также буду еще проверять, если обнаружу неладное, то сообщу вам и предоставлю пример.
[merge_posts_bbcode]Добавлено: 2018-05-13 20:58:47[/merge_posts_bbcode]

И вот теперь приходится, на данный момент, терпеть все эти проблемы, причем они очень неприятные.
И все это началось (имеется в виду переделки встроенного аудио-рендерера) из-за того, что один некий пользователь - иностранец сообщил "ЯКОБЫ о периодическом дропе пакетов", которого визуально вообще даже и близко не было видно. Почему "якобы", да потому что если бы он был виден визуально внешне, то даже я сообщил бы об этом вам уже давным давно. Но, как я ни всматривался, какие только видео файлы не прогонял, я ни единого разу абсолютно никакого дропа пакетов так до сих пор и не увидел на прежнем варианте встроенного аудио-рендерера до его переделок.

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

Ок, я не отрицаю, что были "периодические дропы пакетов" на прежнем варианте аудио-рендерера. Но - это была всего лишь одна проблема. А сколько их теперь появилось и прибавилось после переделки встроенного аудио-рендерера? Согласитесь, не так уж и мало. Те проблемы, что я еще раз расписал вам выше - это еще самый минимум того, как теперь работает наш встроенный аудио-ренджерер, после его переделки.

[merge_posts_bbcode]Добавлено: 2018-05-13 21:02:48[/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.

V0lt

Цитата: Evgeniy19901. Появилось пропадание звука, при переключении звуковых устройств и режимов WASAPI на лету, чего уж точно не было до переделок. Это огромный минус, так как этим стало вообще невозможно пользоваться.
Переключаю устройства через меню MPC Audio Renderer (в сами настройки не лезу, запоминать переключение не нужно) с Realtek на Intel HDMI и обратно. Задержка минимальная, что на Shared, что на Exclusive.
Win7, MPC-BE 1.5.2.3627 x64, PCM 48000Hz stereo.
[merge_posts_bbcode]Добавлено: 2018-05-13 21:40:48[/merge_posts_bbcode]

Переключаю с Shared на Exclusive и обратно. Задержка минимальная, что на Realtek, что на Intel HDMI.
Файл обычный, без кривизны.

Evgeniy1990

Цитата: V0ltПереключаю устройства через меню MPC Audio Renderer (в сами настройки не лезу, запоминать переключение не нужно) с Realtek на Intel HDMI и обратно. Задержка минимальная, что на Shared, что на Exclusive.
Win7, MPC-BE 1.5.2.3627 x64, PCM 48000Hz stereo.
[merge_posts_bbcode]Добавлено: 2018-05-13 21:40:48[/merge_posts_bbcode]

Переключаю с Shared на Exclusive и обратно. Задержка минимальная, что на Realtek, что на Intel HDMI.
Файл обычный, без кривизны.
Возможно, но врятли, что при переключении с аналоговой звуковой карты на HDMI данного бага нет, или он не так просто проявляется, но в случае, как у меня, при переключении, допустим, с Realtek HD на ASUS Xonar DG туда и обратно, при обратном переключении может пропасть звук. А если он пропадет - то тут плеер зависает просто намертво, иногда даже с самой операционной системой, поскольку чувствуется что происходит некий "Lock", я бы даже сказал "обрыв" звукового устройства, т.е. в момент переключения, происходит реконнект, но в этот же момент аудио-рендерер или не может выполнит переключение, или же теряет звуковое устройство.
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.