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

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

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

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

Aleksoid1978

А я вот сколько пользуюсь - и все отлично. Пробовал переключать и устройства и менять настройки - ну не смог получить ни зависон, ни пропадание звука. Может я что-то делаю не так :)

Тоже самое касается изменения скорости воспроизведения - поведение ничем не отличается от того же DS вывода.
[merge_posts_bbcode]Добавлено: 2018-05-14 09:08:13[/merge_posts_bbcode]

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

Тоже самое касается изменения скорости воспроизведения - поведение ничем не отличается от того же DS вывода.
[merge_posts_bbcode]Добавлено: 2018-05-14 09:08:13[/merge_posts_bbcode]

Проверил изменение скорости при проигрывании Youtube роликов(обычные и DASH) - нет рассинхрона.
Быть такого не может! Уж если я могу элементарно воспроизвести у себя на Windows 10, да и не только, даже на Windows 7 данные проблемы, то и у вас и всех остальных они должны воспроизводится также с легкостью.
[merge_posts_bbcode]Добавлено: 2018-05-14 02:40:25[/merge_posts_bbcode]

Еще раз:

Общая (основная) проблема - пропадание звука и мертвое зависание плеера (его процесса в системе) после его попыток закрытия.

Примеры: https://yadi.sk/d/NN4E8e8f3Vr4A2

Алгоритм воспроизведения:

1. Скачать и запустить абсолютно каждое из данных видео файлов
2. Во время их воспроизведения открыть свойства встроенного "MPC Audio Renderer"
3. Как можно чаще переключать режимы WASAPI с одного (Exclusive) на другой (Shared) и обратно с Shared на Exclusive, чем быстрее, тем лучше

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

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

Примеры ссылок:

https://www.youtube.com/watch?v=0KCZEBe-koA
https://www.youtube.com/watch?v=uki-Zdu2JUI

Алгоритм воспроизведения:

1. Открыть обе ссылки YouTube
2. Увеличить скорость воспроизведения на 1.2х
3. После - сбросить ее на нормальную 1.0х
4. Затем обратить внимание на воспроизведение видео, особенно на текст в нет и на сам звук.

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

Проблема №5 - резкое ускоренное (с пропусками кадров) воспроизведение кадров в начале воспроизведения видео файла.
Проявляется в самом начале воспроизведения данного видео файла и только на встроенном аудио-рендерере "MPC Audio Renderer"

Пример: https://yadi.sk/i/7enyvgB13Vr46d

Условие: должен быть выбран встроенный аудио-рендерер "MPC Audio Renderer"

Алгоритм воспроизведения:

1. Скачать данный видео файл
2. Запустить его

В итоге, после запуска будет заметно резкое ускоренное (с пропусками кадров) воспроизведение кадров в самом начале воспроизведения данного видео файла.
[merge_posts_bbcode]Добавлено: 2018-05-14 03:06:45[/merge_posts_bbcode]

Aleksoid1978

Для вас небольшие уточнения:

1. Обязательно посмотрите все мои видеозаписи на каждую из данных проблем. На них показано что и как я делаю. Старайтесь делать все то же самое, что делаю я на них.

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

3. Очень внимательно наблюдайте за текстом в видео файле и за звуком во время воспроизведения данных ссылок, после того, как вы выполните данный алгоритм воспроизведения, т.е. после сброса скорости воспроизведения.
Особенно обратите внимание на слово "VENUS", его появление и в этот же момент на его произношение (сам звук), который будет гораздо позднее, чем данное слово в в самом видео.

4. Обратите внимание на резкие более ускоренные кадры в самом начале воспроизведения данного примера видео файла. Они наблюдаются и присутствуют только на встроенном аудио-рендерере "MPC Audio Renderer".
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

Вот на этих роликах Youtube да есть, локально эти файлы нормально ускоряются.
Но блин "баг" плавающий, то есть то нет - не могу поймать момент ...
[merge_posts_bbcode]Добавлено: 2018-05-14 10:32:41[/merge_posts_bbcode]

А вот по поводу этого пункта:
3. Как можно чаще переключать режимы WASAPI с одного (Exclusive) на другой (Shared) и обратно с Shared на Exclusive, чем быстрее, тем лучше

ну бред же, для чего этого )))

[merge_posts_bbcode]Добавлено: 2018-05-14 10:36:50[/merge_posts_bbcode]

По поводу "Помпеи" - да есть такое, кто-то догадался так криво уложить что звук начинается с 40 секунды :) Ну думаю это подправлю(сейчас просто в коде лимит в 10 секунд).
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

По поводу Youtube - изменение скорости ничем не отличается и от обычной перемотки, поэтому рассинхрон тогда может появиться и при обычной перемотке. Вопрос - галка "Освобождать устройство во время ожидания" проставлена ?? Если да - снять и проверить без нее.
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

Вновь предложу сделать режим Shared по умолчанию, это в будущем позволит сделать MPC Audio Renderer рендерером по умолчанию.

Aleksoid1978

Evgeniy1990
Счастье на твоей улице - словил я таки зависон(причем прям ЗАВИСОН), пришлось систему ребутать ибо звук не выводился(явно в драйвере что-то подвисло). Самое что интересное - это опять таки все на ASUS, дома такого не разу не смогу поймать :)
[merge_posts_bbcode]Добавлено: 2018-05-14 13:55:42[/merge_posts_bbcode]

Ну и плохая новость - что невозможно воспроизвести в Debug режиме, что в принципе исключает возможность даже понять причину ...
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Счастье на твоей улице - словил я таки зависон(причем прям ЗАВИСОН), пришлось систему ребутать ибо звук не выводился(явно в драйвере что-то подвисло). Самое что интересное - это опять таки все на ASUS, дома такого не разу не смогу поймать :)
[merge_posts_bbcode]Добавлено: 2018-05-14 13:55:42[/merge_posts_bbcode]

Ну и плохая новость - что невозможно воспроизвести в Debug режиме, что в принципе исключает возможность даже понять причину ...
Ну наконец-то, хоть на чем-то смогли поймать. :)

Самое плохое и печальное, что это пропадание звука и дальнейший зависон присутствуют совершенно на любой звуковой карте, даже на встроенных Realtek HD, если переключать режимы WASAPI на лету, во время воспроизведения.

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

Я также много раз пытался воспроизвести эту проблему (баг) в отладочных билдах, по началу - не получалось, но потом я все же смог поймать ее вместе с DebugView. Правда, вы мне потом сказали, что логи ничего не дают и вот это вот самое странное и непонятное. Неужели в логах ничего не говорится о том, что произошло в момент потери звука и дальнейшего зависания?
[merge_posts_bbcode]Добавлено: 2018-05-14 07:33:46[/merge_posts_bbcode]

Aleksoid1978
Если вы внимательно смотрели мои две видеозаписи по поводу потери звука и дальнейшего зависания плеера, при попытке закрыть его самым привычным способом на красный крестик, то в этот момент я воспроизводил проблему на внешней дискретной звуковой карте "C-Media", что уже говорит о том, что проблема не только на одной конкретной звуковой карте, а на нескольких, точнее - на всех.
[merge_posts_bbcode]Добавлено: 2018-05-14 07:39:39[/merge_posts_bbcode]

В случае с "ASUS Xonar DG" пропадание звука происходит как бы в двух вариантах:

Первый вариант - как у вас - полный мертвый зависон и дальнейшее отсутствие звука.
Второй вариант - как в моем случае со звуковой картой "C-Media" - сначала пропадает звук, а потом виснет и сам плеер, при его закрытии. В этом случае достаточно завершить его процесс (задачу) в системе и заново запустить с видео файлом.

[merge_posts_bbcode]Добавлено: 2018-05-14 07:47:10[/merge_posts_bbcode]

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

Да все там в 3545 корректно - просто где-то ловиться "lock". А вот где это происходит - нет возможности отловить, ибо в Debug версии все хорошо.
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

Теперь (r3632) WASAPI Shared является режимом по умолчанию и идет первым в списке.

Evgeniy1990

Цитата: Aleksoid1978По поводу Youtube - изменение скорости ничем не отличается и от обычной перемотки, поэтому рассинхрон тогда может появиться и при обычной перемотке. Вопрос - галка "Освобождать устройство во время ожидания" проставлена ?? Если да - снять и проверить без нее.
Рассинхрон, после сброса скорости воспроизведения, на потоковых видео файлах проявляется всегда стабильно на обоих режимах WASAPI: Exclusive и Shared. Первоначально я проверял именно на Shared-режиме, затем проверил также и на Exclusive, после чего, окончательно убедился, что рассинхрон на данных примерах ссылок однозначно есть.

Теперь по по поводу перемотки...

Опция "Разблокировать устройство во время ожидания" есть и работает только на Exclusive-режиме.

Я проверил следующие алгоритмы:

I. Опция  "Разблокировать устройство во время ожидания" включена.

1. Открыл ссылку
2. Увеличил скорость воспроизведения до 1.2х
3. Поставил воспроизведение на паузу
4. Через пару секунд возобновил воспроизведение

В итоге, после возобновления воспроизведения, рассинхрон не проявился.

1. Открыл ссылку
2. Увеличил скорость воспроизведения до 1.2х
3. Перемотал видео в произвольное место
4. Сбросил скорость воспроизведения

В итоге, после сброса скорости воспроизведения, рассинхрон проявился.

II. Опция  "Разблокировать устройство во время ожидания" выключена.

1. Открыл ссылку
2. Увеличил скорость воспроизведения до 1.2х
3. Поставил воспроизведение на паузу
4. Через пару секунд возобновил воспроизведение

В итоге, после возобновления воспроизведения, рассинхрон не проявился.

1. Открыл ссылку
2. Увеличил скорость воспроизведения до 1.2х
3. Перемотал видео в произвольное место
4. Сбросил скорость воспроизведения

В итоге, после сброса скорости воспроизведения, рассинхрон проявился.
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

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

По идее такой момент надо отлавливать на изначально медленном источнике.
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Позавчера я смог поймать рассинхронн на этих Youtube роликах, сегодня уже нет. Позавчера было прям заметно как "медленно" происходит изменение скорости и перемотка, сегодня все моментально.

По идее такой момент надо отлавливать на изначально медленном источнике.
А вот у меня никаких улучшений ни разу не произошло, несмотря на то, что я много раз открывал данные ссылки в разное время. Причем, у меня всегда заметно, даже отчетливо видно, что само изменение скорости происходит, как вы и сказали, "медленно".
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-16 21:28:14[/merge_posts_bbcode]

Перепроверил дома те ссылки Youtube - изменение скорости/перемотка выполняется быстро, никакого рассинхрона :)
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Ну значит не повезло просто тебе )))
[merge_posts_bbcode]Добавлено: 2018-05-16 21:28:14[/merge_posts_bbcode]

Перепроверил дома те ссылки Youtube - изменение скорости/перемотка выполняется быстро, никакого рассинхрона :)
Наоборот, очень даже повезло. :) Сейчас проверил эти две ссылки YouTube - больше не проявляется рассинхрон, после сброса скорости воспроизведения.
[merge_posts_bbcode]Добавлено: 2018-05-16 16:58:08[/merge_posts_bbcode]

Проблема №6: Предварительная резкая перемотка, после возобновления воспроизведения.
Проявляется только при использовании "MPC Audio Renderer", в зависимости от используемого режима WASAPI в момент возобновления воспроизведения.

Алгоритм воспроизведения:

1. Запустить любой (первый) видео файл в одной (первой) текущей сессии
[WASAPI: Shared Mode Initially]
2. Поставить первый воспроизводимый видео файл на паузу
3. Запустить любой (второй) видео файл в другой (второй) текущей сессии
4. Во время воспроизведения второго видео файла, переключиться на другой режим WASAPI
[WASAPI: Exclusive Mode Secondary]
5. Закрыть воспроизведение второго видео файла (завершить вторую сессию)
6. Вернуться к первому видео файлу и возобновить воспроизведение (снять видео с паузы)

В итоге, проявится предварительная резкая перемотка с пропусками кадров вперед на несколько секунд (некоторое время), после чего, воспроизведение первого видео файла в первой сессии нормализуется.

P.S. Данная проблема очень напоминает (похожа) на проблему №5.
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

Цитата: Evgeniy1990Проблема №6: Предварительная резкая перемотка, после возобновления воспроизведения.

Исправил.
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