Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Nov 21, 2019 6:36 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 60 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
 Post subject:
PostPosted: Sun Aug 12, 2007 4:27 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Единственный не большой по продолжительности, а резать длинные не хотелось. Все остальные больше 8Mb и с большим количеством кадров (>2000) - не удобно отлаживать.

..bw


Top
   
 Post subject:
PostPosted: Sun Aug 12, 2007 9:44 pm 
bw
Quote:
Помогите. Посмотрите заголовок kvid.kex и вообще подтвердите что фишка с собственным путем работает.

Это я тебе гарантирую. Если есть трудности, можешь посмотреть исходники KFM. Без фишки с собственным путем я бы не мог загружать INI и 2 штуки BMP файлов.

Запуск с параметром путь проверил – работает, но как-то странно. Два файла с одинаковой длинной имени лежащих в одной папке – один запускает, а для другого пишет - нет такого файла, а в пути, написанном в программе, затерто имя файла точками. Вероятно, у тебя либо неправильно копируется путь к файлу, либо он затирается другими данными в некоторых случаях. Лучше выделять под путь не менее 4 Кб.
Возможно с путем к самому приложению та же проблема, выдели тоже побольше памяти.


Top
   
 Post subject:
PostPosted: Sun Aug 12, 2007 10:44 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Вроде все элементарно:
[HEAD][CODE][STACK][ARGS][PATH][ASS]
Память заказывается по ASS. На qemu я немного проверял, ARGS работал. PATH вообще никак, всегда 0. Для ARGS и PATH я выделяю по 256 байт. Файл "заканчивается" на CODE (или на STACK, уже не помню :-). Я писал свой exe2kos, pe2kos не работает из-за того что игнорирует ряд секций, которые использует FreePascal.

p.s. ASS, это просто метка на диаграмме, т.е. 0b в длине.

..bw


Last edited by bw on Thu Aug 16, 2007 12:29 pm, edited 1 time in total.

Top
   
 Post subject:
PostPosted: Wed Aug 15, 2007 5:14 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Отчёт о тестировании :)

Чтобы проиграть тестовый kvid.avi, пришлось запускать через Run, указав полный путь к проигрывателю и полный путь к фильму. Это неудобно.
Я решил сделать по другому: скопировал kvid.kex в /hd0/1/Kolibri и прописал соответственно ассоциации в kfar.ini и kfm.ini. Выбрал kvid avi.
Kfm выдал ошибку 5. Kfar объяснил более понятно:
Code:
Ошибка при запуске программы: файл не найден

После того как я изменил местоположение программы и ассоциации на /hd0/1/kvid.kex, программа стала запускаться. Мне удалось проиграть некоторые из моих любимых аниме. При этом я обратил внимание, что в зависимости от разрешения фильма меняется нагрузка на процессор и винт. Так, фильм с разрешением 1024 на 576 заметно подтормаживал, в фильмах с меньшим разрешением я этого не заметил.
Ещё я заметил, что проигрыватель не понимает пути, содержащие пробелы. В этих случаях он пишет:
Code:
Sorry, file not found

Это большой недостаток для современной программы.
И ещё я надеюсь, что со временем будут поддерживаться не только те версии кодеков, которые сейчас поддерживаются (этого очень мало), а хотя бы все, которые сейчас в ходу. И что когда-нибудь будет поддерживаться не только MP3, но и OGG.
Спасибо за внимание.


Top
   
 Post subject:
PostPosted: Wed Aug 15, 2007 9:28 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Итак, ясно: нормальная работа проигрывателя нарушается после того, как я делаю активным какое-то другое окно, а потом обратно окно с изображением. После этого процессор загружается на 100%, хотя перед этим мог работать примерно на 25%
Это очень серьёзный глюк!


Top
   
 Post subject:
PostPosted: Thu Aug 16, 2007 12:33 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Пока акцент делался только на парсин и декодирование видеоряда. Т.е. текущий болячки вообще не рассматривались.
С путями в kos я еще не толком не работал, запросто мог что-то упустить, тут я говорил что мне даже путь исполняемого приложение не удается выяснить. Передавать полный путь надежнее. Так как при открытии файла я беру только тут путь который передается через параметры. Если он относительный я не знаю как kos будет открывать такой файл, учитывает она или нет текущий путь. Что касается вывода - есть такая проблема, даже не знаю откуда, там вроде все элементарно. Но это тоже не важно так как код по выводу будет полностью переделан, после того как появится звук. Про не удачное эксплуатирование винта я так же говорил выше.

p.s. Спасибо за тесты и за отзывы :-).

..bw


Top
   
 Post subject:
PostPosted: Thu Aug 16, 2007 2:00 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Не забудь глюк с путями, содержащими пробелы...


Top
   
 Post subject:
PostPosted: Thu Aug 16, 2007 2:51 pm 
Атауальпа
OFFTOP
"И главное мы забыли сказать про гранулы натуральных ягод!" ;-)
/OFFTOP


Top
   
 Post subject:
PostPosted: Thu Aug 16, 2007 3:41 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Вот уж действительно оффтоп :shock:


Top
   
 Post subject:
PostPosted: Thu Aug 23, 2007 9:32 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Mario79, выделил под путь больше места - все заработало, спасибо за подсказку.
Немного обновил kvid. Звука пока нет, как и ничего в принципе нет. Добавил паузу :-) по Space. Убрал косяк с зависанием и так по мелочам код причесал.
Напомнинаю URL программки: http://www.handsdriver.net/files/temp/kvid.kex

..bw


Top
   
 Post subject:
PostPosted: Fri Aug 24, 2007 1:28 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Добавил возможность перемещать окно с видео, но под KOS работает криво, вот код, может чего заметите:
Code:
      begin
        CurrMousePos := kos_getmousepos();
        if (kos_getmousebuttons() and 1) <> 0 then
        if MouseLeft and ((CurrMousePos.X <> PrevMousePos.X) or (CurrMousePos.Y <> PrevMousePos.Y)) then
        begin
          {нажата левая кнопка и курсор был перемещен}
          MoveWindow(
            WindowRect.Left + CurrMousePos.X - PrevMousePos.X,
            WindowRect.Top + CurrMousePos.Y - PrevMousePos.Y,
            GetWindowWidth(),
            GetWindowHeight());
        end else
          MouseLeft := True else
          MouseLeft := False;
        PrevMousePos := CurrMousePos;
      end;


AVI, отличные от DivX5 и XviD могут вызвать падение программы или выжрать всю оперативку, будьте бдительны :-).

p.s. Для перемещения окна, удерживайте левую кнопку мыши.

..bw


Top
   
 Post subject:
PostPosted: Fri Aug 24, 2007 8:45 am 
Offline
Kernel Developer

Joined: Fri Feb 23, 2007 11:55 pm
Posts: 63
Попробуй организовать это в виде библиотеке, путь даже в своем окне.
в библиотеке функции управления видео. Для начала "открыть файл" и "пауза"


Top
   
 Post subject:
PostPosted: Sat Aug 25, 2007 11:58 am 
bw
Quote:
выделил под путь больше места - все заработало, спасибо за подсказку.

У меня осталось все по-прежнему - путь больший, чем 20-25 символов не открывается.


Top
   
 Post subject:
PostPosted: Sat Aug 25, 2007 8:32 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
bw: по крайней мере ты убрал самые неприятные баги. Да и пауза по Space - полезная возможность. Жду перемотку по стрелкам :)


Top
   
 Post subject:
PostPosted: Mon Aug 27, 2007 5:46 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Проверил на фильме "Пророк" размером в 1,4 Гб, работает ) Осталось звук добавить! :) И имхо стоит убрать счетчик фреймов из окна видео...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 60 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited