Поломка изменения скорости воспроизведения [Исправлено]

Автор Evgeniy1990, 11 января 2016, 23:38:22

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

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

Evgeniy1990

Цитата: Aleksoid1978Так - предлагаю тестовый билд https://yadi.sk/d/cs5F8N5VmrMkW
Так же просьба проверить его и на WinXP.
Проверил тестовый билд на Windows XP и Windows 10.

Теперь скорость воспроизведения увеличивается и уменьшается вовремя, т.е. сразу, после одного нажатия действия - увеличить, или уменьшить скорость.

1 раз - увеличить скорость 1.0х -> 1.2х

2 раз - увеличить скорость 1.2х -> 1.5х

3 раз - увеличить скорость 1.5х -> 2.0х

4 раз - увеличить скорость 2.0х -> 4.0х

Аналогично работает и обратное действие - уменьшить скорость:

1 раз - уменьшить скорость 4.0х -> 2.0х

2 раз - уменьшить скорость 2.0х -> 1.5х

3 раз - уменьшить скорость 1.5х -> 1.2х

4 раз - уменьшить скорость 1.2х -> 1.0х

Также, теперь сброс скорости воспроизведения работает сразу, например: 4.0x -> 1.0x

Скорости меньше 1.0х меняются сразу, т.е. при первом нажатии действия:

1 раз - уменьшить скорость 1.0х -> 0.5х

2 раз - уменьшить скорость 0.5х -> 0.25х

3 раз - уменьшить скорость 0.25х -> 0.125х

И аналогично, теперь сразу, с первого раза, работает и обратное действие - с 0.125х до 1.0х.

В общем:

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

2. Исправлен выбор скоростей воспроизведения, теперь они меняются с первого раза, а не через один раз, т.е. со второго раза, как это было раньше.

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

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

В целом, основная проблема полностью устранена, исправлена, также исправлены дополнительные проблемы (баги).
Ваши изменения/исправления полностью готовы к работе. Можете спокойно заливать их в SVN.
Сейчас абсолютно все и полностью работает корректно на все 100%. :)
[merge_posts_bbcode]Добавлено: 2016-01-13 07:00:13[/merge_posts_bbcode]

Цитата: V0lt
Цитата: Aleksoid1978С чего это моё решение неправильное и неработающее??  Аргументы??
Неправильное потому что хак, если и работающий, то лишь в определенных случаях. Если такое есть в LAV, то это вовсе не значит, что его надо тащить в наш код.
Про неработающее Evgeniy1990 расписал.
V0lt, хоть это, как вы говорите - хак, но Aleksoid1978 сделал (добавил) его не случайно.
Он устраняет проблему с рывками изображения во время воспроизведения видео файлов, при измененных скоростях, т.е. при увеличенных, или наоборот - уменьшенных скоростях.

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

Да, я сказал, что он работал некорректно, не увидел разницы, только лишь потому, что скорости менялись не сразу, а через один раз, т.е. со второго раза.

Отсюда, этот "хак" работал некорректно, так как частоты кадров видео файлов, при измененных скоростях воспроизведения, просто или не менялись вообще, или просто скакали. Вот почему я и сказал, что изначально не увидел никакой разницы, но она действительно была.

Разница в том, что после этого "хака" появилась плавность, которой нам не хватало.
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

Цитата: V0ltПро неработающее Evgeniy1990 расписал.

Так к слову - у этого неработающего ноги из другого места растут, ну и если что, так для информации. :)
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Так к слову - у этого неработающего ноги из другого места растут, ну и если что, так для информации. :)

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

Отсюда и делаю соответствующие выводы.

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

Вот, например, такой был у меня случай:

1. Открыл видео файл с частотой кадров 23.976 ~ 24 FPS
2. 1 раз нажал - увеличить скорость

Ожидал, что скорость должна быть 1.2х, но по факту - так и осталась 1.0х

Что дальше мне сделал плеер, он понял, ага, пользователь выполнил некую команду, надо бы выполнить определенный алгоритм, согласно данной команде, но вместо того, чтобы частоту кадров увеличить до 28.87, он ее наоборот уменьшил до 26.37, в результате возникли рывки, во время воспроизведения, так как частота кадров стала прыгать с 26 до 28, потом до 27 и т.д.

24 х 1.2х = 28.8 FPS
24 х 1.5х = 36 FPS
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.