Страница 28 из 74

Добавлено: Пн янв 28, 2019 00:26
Lisabon
Попробуйте на этой версии, будет ли падать.
Погонял и падений с ошибками не обнаружил.

По предыдущей версии дополню, что ошибка происходит, если формируется база данных из аудиофайлов. Если база уже сформирована, то сколько не гоняй плагин, падений с ошибками не наблюдалось. Я вот думаю, что возможно не успевает формироваться(записываться) база из аудиофайлов. Может при формировании базы, создать искусственную задержку на запись в базу. Но всё это мои догадки, как там реально работает, виднее только вам.

Добавлено: Пн янв 28, 2019 10:54
Lisabon
1. При использовании wlx плагина, в режиме просмотра Видео (компактный), на файлах ts, tp, m2ts, mts, появляется сообщение:

Код: Выделить всё

Invalid operand types for ">" (NDUR > 3600000  )
2. При использовании wdx плагина, на файлах ts, tp, m2ts, mts, плагин не отдаёт информацию о длительности (duration) файла, при этом, при использовании wlx плагина на файлах ts, tp, m2ts, mts - длительность (duration) файла отображается.

Добавлено: Пн янв 28, 2019 11:26
Loopback
Lisabon писал(а):По предыдущей версии дополню, что ошибка происходит если формируется база данных из аудиофайлов.
Спасибо, важное дополнение. Проблема скорее всего связана с доступом к базе из разных потоков. Хотя по-умолчанию SQLite готова к такой работе, возможно я что-то все же не учел. Есть одна мысль, попробую вечером сделать еще тестовую версию. На всякий случай, вы обновляли версию библиотеки SQLite из последнего дистрибутива плагина?

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

Добавлено: Пн янв 28, 2019 11:38
Lisabon
На всякий случай, вы обновляли версию библиотеки SQLite из последнего дистрибутива плагина
Да, из последнего.

Добавлено: Чт янв 31, 2019 12:32
Loopback
Lisabon
Сделал тестовую версию, попробуйте, будет ли падать на ней.
Lisabon писал(а):на файлах ts, tp, m2ts, mts, появляется сообщение
Да, похоже на таких файлах приходит дробное значение, которое не преобразовывается автоматически в число. Замените в шаблоне строчку

Код: Выделить всё

nDur := Get('Duration');
на

Код: Выделить всё

nDur := Number(Get('Duration'));
Lisabon писал(а):wdx плагина, на файлах ts, tp, m2ts, mts, плагин не отдаёт информацию о длительности
Та же ситуация. Исправленный код поля:

Код: Выделить всё

        <column name="Duration">
            <unit name="hh:mm:ss" type="script">Output:=TimingFormat('%hh:%mm:%ss', Number(Duration));</unit>
            <unit name="hh:mm:ss.fff" type="script">Output:=TimingFormat('%hh:%mm:%ss.%fff', Number(Duration));</unit>
            <unit name="s" type="script">Output:=Trunc(Duration/1000);</unit>
            <unit name="z">Duration</unit>
            <unit name="Custom" type="script">
            <![CDATA[
              Output:='';
              if Not StrIsNumber(Duration) then Exit;
			  nDur := Number(Duration);
              Hour:=Trunc(nDur/3600000);
              Min:=Trunc((nDur-Hour*3600000)/60000);
              Sec:=Trunc((nDur-Hour*3600000-Min*60000)/1000);
              if (Hour <> 0) then Output:=IntToStr(Hour)+' hr ';
              if  (Min <> 0) then Output:=Output+IntToStr(Min) +' min ';
              if  (Sec <> 0) then Output:=Output+IntToStr(Sec) +' sec ';
            ]]>
            </unit>
        </column>

Добавлено: Чт янв 31, 2019 15:19
Lisabon
Loopback
Замените в шаблоне строчку
Исправленный код поля:
Поправил в файле TCMediaInfo.xml и погонял плагин. Проблемы с отображением длительности (duration) в wdx плагине на файлах ts, tp, m2ts, mts не наблюдаю. Спасибо.
тестовую версию, попробуйте, будет ли падать на ней
И так. Удалил файл Base.db и перезагрузил TC. Дальше переключил на пользовательский набор колонок (в моём случае Аудио), где используется wdx плагин и начал гонять по всем своим аудиофайлам. В итоге вылазят ошибки и TC подвисает.
Сами ошибки вот такие:

Код: Выделить всё

Crash in plugin TCMediaInfo.wdx:
External exception EEDFADE

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00680074

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00670065

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00680076

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3871. Read of address 8BB484FC

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00650060

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3871. Read of address 00000024

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3877. Write of address 006C0070

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3BF9. Write of address 0054004D

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3BEB. Write of address 00000000

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A5610. Read of address E7FFFFFD

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A38A7. Write of address 0054004D

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3871. Read of address FFFFFFFC
Ещё дополню. Ошибка быстрей появляется, если количество файлов в папке около 100 - 200. В папках я листаю файлы быстро, скролом мыши или с клавиатуры клавишами PageDown и PageUp.

Добавлено: Пт фев 01, 2019 14:55
Loopback
Lisabon
В общем все очень загадочно. Как ни пытаюсь, повторить не получается. Win8 у меня нет, но ни на Win7, ни на Win10 разницы нет. В то же время включить отложенную загрузку тут хотелось бы, при таком-то времени получения данных.

Конфиг использован чистый, с последней версии? Если нет, то этот параметр

Код: Выделить всё

<DebugMode>0</DebugMode>
равен нулю или там что-то установлено? Если что-то стоит, нужно попробовать поставить в 0.

Добавлено: Пт фев 01, 2019 15:28
Lisabon
Конфиг использован чистый, с последней версии?
Конфиг брал с wdx_tcmediainfo_080_beta, но добавил свои пункты и свой файл конфигурации, я выкладывал ранее.
то этот параметр

Код:
<DebugMode>0</DebugMode>
равен нулю или там что-то установлено?
Когда тестировал wdx_tcmediainfo_080_beta, то значение было True.
Когда тестировал tcmeadiainfo_test_20190131, то значение было 0.

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

Добавлено...
Попробовал с чистым файлом конфигурации, без моих добавок, взятый из wdx_tcmediainfo_080_beta и тоже выдаёт ошибки с подвисанием ТС.

Если никак не получится сие поправить, то можно ли добавить новую опцию, которая давала возможность, включать/отключать отложенную загрузку?

Добавлено: Пт фев 01, 2019 16:02
Flasher
Lisabon писал(а): добавить новую опцию
А разве UseBase/MemoryBase не то? В хелпе дано описание.

Добавлено: Пт фев 01, 2019 17:07
Lisabon
Flasher
Не то, но попробовал изменить опцию MemoryBase с False на True, чтобы база создавалась в памяти, а не на диске, и плагин держится дольше, прежде чем выдаст ошибки.

Добавлено: Пт фев 01, 2019 17:28
Loopback
Lisabon
Была такая мысль, хотя это будет костыль, а не решение.

Кстати, а если совсем отключить базу, тоже падает?

Flasher
Нет, MemoryBase просто создает временную базу в памяти, а не на диске, т.е. кэширование работает до закрытия тотала.

Отложенное получение данных это другое. Если загрузка данных занимает много времени, тотал может загружать плагин в фоновом потоке. Соответственно окно тотала не тупит при получении данных. Вот тут-то и начинаются проблемы.

Добавлено: Пт фев 01, 2019 19:50
Lisabon
Loopback
Кстати, а если совсем отключить базу, тоже падает?
Падает.

Может расширенную дебаг-версию плагина сделать, чтобы фиксировала всё, что происходит во время работы плагина, может так можно отловить баг.

Добавлено: Пт фев 01, 2019 20:19
BeTeP
Lisabon писал(а):Ещё дополню. Ошибка быстрей появляется, если количество файлов в папке около 100 - 200.
Лично у меня плагин работает нормально, никаких ошибок. Даже в папках с количеством файлов 300+. Нормально работает и со своим конфигом и с конфигом, который идёт в комплекте с плагином.
Windows 7 (х64). ТС 9.21a (32 bit).
Так же, ради любопытства, проверял плагин на ТС 8.01 (32 bit) и ТС 8.52а (64 bit) - никаких проблем.

Добавлено: Пт фев 01, 2019 22:20
Loopback
Lisabon
Понятно, ну хотя бы круг поиска немного сужается, значит проблема на этапе получении данных из библиотеки, либо со скриптингом.

Да, надо будет дебажку сделать, может что-то прояснится.

BeTeP
Ну вот и у меня тоже, тестовый каталог более 500 файлов, проблем нет. Но во всяком случае у Lisabon проблема четко проявляется при включении фоновой загрузки, так что она есть.

Добавлено: Сб фев 09, 2019 19:05
Loopback
Lisabon
Выложил дебажку. Наверно, раз проблема проявляется без базы, лучше запускать при выключенной базе, меньше лишнего будет писать в лог. Включать отладку в конфиге необязательно, тут она включена принудительно.