MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: Evgeniy1990 от 14 октября 2021, 09:11:32

Название: WASAPI Exclusive - некорректная разблокировка устройства [не баг]
Отправлено: Evgeniy1990 от 14 октября 2021, 09:11:32
Описание проблемы:

Если включена опция "Разблокировать устройство во время ожидания", то при приостановке воспроизведения, само звуковое устройство не может разблокироваться (освободиться) вовремя, а продолжает оставаться заблокированным (занятым). Это очень легко проверить, запустив параллельно еще одну сессию с любым произвольным видео, или аудио файлом, что в конечном итоге приводит к полному отсутствию звука. А если он и появляется, то возникает рассинхрон.

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

1. Запустить первую сессию с любым произвольным видео, или аудио файлом в режиме WASAPI Exclusive, со включенной опцией "Разблокировать устройство во время ожидания".
2. Запустить вторую (новую) сессию с любым произвольным видео, или аудио файлом.
3. Поставить воспроизводимый видео, или аудио файл в первой сессии в режим "Пауза".
4. Вернуться ко второй сессии, в которой продолжается воспроизведение любого произвольного видео, или аудио файла.

Фактический результат:

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

Ожидаемый результат:

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

P.S.

Данный баг является очередной поломкой, поскольку раньше, при данной опции, звук сразу же возвращался.
Название: Re: WASAPI Exclusive - некорректная разблокировка устройства во время ожидания
Отправлено: Aleksoid1978 от 14 октября 2021, 10:03:47
Покажи фильтры во второй сессии.

По идее там должен быть DSound вывод. Если так - то какие вопросы то к нам.
Название: Re: WASAPI Exclusive - некорректная разблокировка устройства во время ожидания
Отправлено: Evgeniy1990 от 14 октября 2021, 12:55:49
Aleksoid1978,
Цитата: Aleksoid1978 от 14 октября 2021, 10:03:47
Покажи фильтры во второй сессии.

По идее там должен быть DSound вывод. Если так - то какие вопросы то к нам.
Все верно, там у меня как раз этот DirectSound. Но проблема не в этом, а в том, что звуковое устройство не освобождается строго после установки воспроизведения в режим "Пауза" в первой сессии. Это просто для примера я вам привел вторую сессию. Обычно я, например, первоначально проверял таким образом - первая сессия нашего плеера в режиме WASAPI Exclusive, а в качестве параллельно запущенной выступал сам браузер с HTML5-плеером. Я точно помню, что раньше звук моментально возвращался, как только я освобождал звуковое устройство, поставив видео на паузу в основной первой сессии, т.е. там, где используется именно режим WASAPI Exclusive. Сейчас звук или возвращается с опозданием, или его просто нет, даже после освобождения звукового устройства. Вот в чем суть. Т.е. в качестве второй сессии необязательно может выступать именно наш плеер, это может быть любая программа, которая умеет воспроизводить видео, или аудио.
Название: Re: WASAPI Exclusive - некорректная разблокировка устройства во время ожидания
Отправлено: Aleksoid1978 от 14 октября 2021, 14:08:24
Таймаут в 3 секунды, так было всегда(изначально). Ибо в DirectShow нет возможности отличить паузу от перемотки.