Тема: интерфейсы субтитров: "ISubPicAllocatorPresenter1" и "ISubPicAllocatorPresenter2" в том числе и новый "ISubPicAllocatorPresenter3", который заменил собой два прежних (старых) - поломалось отображение субтитров на внешнем рендерере субтитров: "XySubFilter".
Краткое описание проблемы:
После начала переделки данных интерфейсов субтитров, были обнаружены некоторые поломки, которые начали проявляться с изменения в SVN r1516.
Одной из таких поломок является отсутствие отображения субтитров на внешнем рендерере субтитров: "XySubFilter".
Алгоритм воспроизведения:
1. Скачать этот видео файл вместе с его внешними субтитрами: https://yadi.sk/d/UGC4mWZyrrj4Q
2. Выбрать рендерер субтитров: "XySubFilter".
3. После выбора данного рендерера субтитров, запустить данный видео файл с внешними субтитрами
Фактический результат: субтитры на экране дисплея вообще не отображаются.
Ожидаемый результат: субтитры на экране дисплея должны отображаться.
Какая версия XySubFilter?
Цитата: V0ltКакая версия XySubFilter?
Самая последняя:
3.1.0.746 (git e67b464)Вот ссылка:
http://forum.doom9.org/showthread.php?t=168282[merge_posts_bbcode]Добавлено: 2016-05-20 17:25:38[/merge_posts_bbcode]
Ссылка на загрузку самого фильтра:
https://github.com/Cyberbeing/xy-VSFilter/releases/download/3.1.0.746/XySubFilter_3.1.0.746_x86_BETA3.zip[merge_posts_bbcode]Добавлено: 2016-05-20 17:27:32[/merge_posts_bbcode]
https://github.com/Cyberbeing/xy-VSFilter/releases
Надо перебором найти ревизии поломки.
[merge_posts_bbcode]Добавлено: 2016-05-21 10:49:19[/merge_posts_bbcode]
Непонятно из-за чего, сам интерфейс работает но возвращает ошибку при вызове RequestFrame.
[merge_posts_bbcode]Добавлено: 2016-05-21 10:52:23[/merge_posts_bbcode]
Возможно 1514 виновата, надо проверять с 1513 начать.
Цитата: Aleksoid1978Надо перебором найти ревизии поломки.
[merge_posts_bbcode]Добавлено: 2016-05-21 10:49:19[/merge_posts_bbcode]
Непонятно из-за чего, сам интерфейс работает но возвращает ошибку при вызове RequestFrame.
[merge_posts_bbcode]Добавлено: 2016-05-21 10:52:23[/merge_posts_bbcode]
Возможно 1514 виновата, надо проверять с 1513 начать.
Хорошо, я буду проверять, начиная с SVN r1513.
Скажу сразу, что в SVN 1512 - все работает нормально, субтитры через XySubFilter отображаются.
[merge_posts_bbcode]Добавлено: 2016-05-21 04:01:00[/merge_posts_bbcode]
Проверил SVN r1513 - также, как и в SVN r1512 - субтитры есть.
Придется собрать и проверить SVN r1514.
Да 100% 1514 виновата, рендерер субтитров не может получить нужные данные.
Цитата: Aleksoid1978Да 100% 1514 виновата, рендерер субтитров не может получить нужные данные.
Собрал и проверил
SVN r1514 - да, действительно, на ней уже субтитры не отображаются.
Есть одно но:
Но, интересно еще то, что в SVN r1517, если в настройках субтитров выбран рендерер субтитров: XySubFilter, то при открытии любого файла, возникает задержка видео-кадров, причем даже если в них вообще отсутствуют субтитры, это как раз и говорит о том, что сказываются переделки интерфейсов субтитров.
В SVN r1514 задержки пока еще нет.
В общем, понятно, что поломка началась именно с этой ревизии r1514, а дальше стало еще хуже.
[merge_posts_bbcode]Добавлено: 2016-05-21 06:10:25[/merge_posts_bbcode]
Aleksoid1978:В общем, я еще раз перепроверил открытие видео файлов с субтитрами и без, при условии, что выбран рендерер субтитров "XySubFilter" в SVN r1514 и SVN r1517.
Да, действительно, в SVN r1517 может иногда проявляться задержка, при воспроизведении видео кадров, т.е. даже на глаз видно, что кадры воспроизводятся немного медленнее, чем обычно.
Если обратно переключиться на встроенный рендерер субтитров, то все становится в полном порядке.
Значит, я все-таки верно предположил, что из-за поломки в SVN r1514, происходит что-то нехорошее, при выборе XySubFilter.
Чтобы от этого избавиться, необходимо устранить эту поломку с отображением субтитров на данном внешнем рендерер субтитров, в SVN r1514, т.е. восстановить для них корректный вывод и интерфейс.
Исправил.
Если помог откат r1514. Значит как я и предполагал SubPicAllocatorPresenter не используется (это очень хорошо), а дело в ISubRenderOptions.
[merge_posts_bbcode]Добавлено: 2016-05-21 07:41:21[/merge_posts_bbcode]
Фильтр запрашивает следующее
"name"
"version"
"originalVideoSize"
"arAdjustedVideoSize"
"videoOutputRect"
"subtitleTargetRect"
"yuvMatrix"
"supportedLevels"
"frameRate"
Ну да - все верно. Дело именно в ISubRenderOptions. Единственное что - я вернул так же запрос и refreshRate, вроде бы и не запрашивалось - но мало ли. Может такое в некоторых только ситуациях
Правильно все. Спасибо, что нашли для чего все это нужно было и исправили.
PS: "frameRate", "refreshRate" на самом деле отдают не частоту кадров и экрана, а время. Но это уже такой дремучий косяк, что уже фичей стал. :-)