Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заставить заработать SampleGrabber из DSPack [D7, WinXP]


Valera ©   (2005-07-25 19:25:00) 

Из примера SnapShop из DSPack у меня не работает функция:
SampleGrabber.GetBitmap(Image.Picture.Bitmap); Делая трассировку обнаружил, что функция SampleGrabber.GetCurrentBuffer(BufferLen, DIBPtr) постоянно возвращает код ошибки. Может ли кто подсказать, как мне исправить это?


Valera   (2005-07-28 12:16:00) [1]

Анонимщики ©

Помойму все прекрасно объяснили.


Анонимщики   (2005-07-28 11:13:00) [2]

Так я не понял, у тебя затруднения остались или уже все ясно?


Ботвин Дмитрий   (2005-07-28 08:03:00) [3]

А вообще RGB24 и RGB32 - это почти одно и тоже в плане информации, разница тока в структуре. RGB24 - по байту на цвет, т.е 8 бит * 3 = 24 бит, а RGB32  - добавлен ещё один байт для "выравнивания", т.к. процессору удобнее работать с 32-х битными данными. Есть ещё YUV - на два соседних пикселя по
одному Y (яркость) - 8бит*2, и одна общая информация о цветносит
UV (2 байта). Таким образом получается, что  RGB32 быстрее
RGB24, в следстви своей "выровненности".


Ботвин Дмитрий   (2005-07-28 07:51:00) [4]

У меня, к примеру ATI 9200 и она тока 16 и 32 глубину поддерживает, поэтому и у меня походу тока с RGB32 работать будет...


Valera   (2005-07-28 07:47:00) [5]

Видеокарта у меня гигабайтовская ati 9600pro, а насчет переустановки винды и всего остального уже убедился. Спасибо за вашу помощь.


Valera   (2005-07-28 07:44:00) [6]

Я же писал, что пример SnapShop который входит в набор компонентов DsPack не работает. Я привык сперва смотреть на примеры перед тем как использовать что нибудь в программе. Хочу в плеере сделать скриншоты под AVI разумеется. (не DVD пока)
Можешь верить можешь нет, но ошибка пропапала когда изменил подтип на RGB32. DSPack был 2.34 сейчас с CVS. Ничего из скаченного не изменял кроме файла DSPack.pas для изминения DSTracBar на свой и нигде пока не использовал функцию GetCurrentBuffer для получения картинки.
Могу только добавить, что интересовался еще как это сделано в AV Player. Так как прорисовка буфера медленновата и приходиться ждать его завершения после изминения позиции в файле.

Надеюсь я ответил на твой вопрос.


Ботвин Дмитрий   (2005-07-28 07:39:00) [7]

Я так понимаю, что у тебя видеокарта просто не поддерживает
24-битную глубину цвета, поэтому и при Sub Type RGB32 работает,
а при RGB24 нет. Вовсе это не ошибка. Ты повнимательнее прочитай
описание этого свойства. А пробывать разные версии DSPack и
переустанавливать винду - это лишнее...


Анонимщики   (2005-07-28 01:38:00) [8]

Да ты скажи, что ты делаешь, что работает, а что нет.
Откуда я знаю, где и когда ты вызываешь GetCurrentBuffer? Вот все и опиши.


Valera   (2005-07-27 20:04:00) [9]

Анонимщики ©

Можно сделать выводы по исчезновению ошибки (добиваясь рабочего кода), да я еще не знаток DirectX но стараюсь разобраться. Выводы делаю как могу вы уж извините, только не понятно чего вы сами добиваетесь? (не вериться, что тебе действительно нужно что-то расказать из твоих посылок)


Анонимщики   (2005-07-27 19:10:00) [10]

Ну и что, что у тебя подтип RGB24? Что из этого следует? И как ты, интересно, исправил такую "ошибку"? Ты понимаешь вообще, что делаешь? Если понимаешь, то расскажи мне, потому что я просто концов с концами не могу свести, как можно делать такие выводы из таких посылок!?


Анонимщики   (2005-07-27 19:09:00) [11]

Ну и что, что у тебя подтип RGB24? Что из этого следует? И как ты, интересно, исправил такую "ошибку"? Ты понимаешь вообще, что делаешь? Если понимаешь, то расскажи мне, потому что я просто концов с концами не могу свести, как можно делать такие выводы из таких посылок!?


Valera   (2005-07-26 22:51:00) [12]

programania ©   (26.07.05 21:51) [6]
Проверь свойство  SampleGrabber mediaType
у меня нормально работает
Major Type video
Sub Type RGB32
Sample Size 1
Format Type VideoInfo
и 2 галочки

Спасибо! Действительно ошибка была в том, что Sub Type был RGB24. Хотя я не менял ничего из примера и в MSDN ничего такого не накопал.


programania   (2005-07-26 21:51:00) [13]

Проверь свойство  SampleGrabber mediaType
у меня нормально работает
Major Type video
Sub Type RGB32
Sample Size 1
Format Type VideoInfo
и 2 галочки


Valera   (2005-07-26 18:56:00) [14]

Ботвин Дмитрий   (26.07.05 10:05) [2]
Драйвера могут быть и не причём. Так же как и переустановка виндус :-))
Что по этому поводу думает SysErrorMessage(GetLastError) - ?

Недостаточно памяти для завершения операции.

Мне понравилась как сделано в AV Player, помойму кто то его делал с этого форума. Может подскажет как у него это реализовано  или хотя бы через какой интерфейс?


Valera   (2005-07-26 18:12:00) [15]

Анонимщики ©   (26.07.05 11:54) [3]
Держу пари, что Валера не представляет, что делает.
_______________________________________________________

Ну мне кажется, что представляю и согласен с WondeRu ©. Пробовал разные версии DSPack и переустанавливал XP. (Все таки хочется свой плеер доделать!) Только при этом не менял дрова на видюху они у меня ATI версии 5.6, может в них дело.


Анонимщики   (2005-07-26 11:54:00) [16]

Держу пари, что Валера не представляет, что делает.


Ботвин Дмитрий   (2005-07-26 10:05:00) [17]

Драйвера могут быть и не причём. Так же как и переустановка виндус :-))
Что по этому поводу думает SysErrorMessage(GetLastError) - ?


WondeRu   (2005-07-26 08:06:00) [18]

Драйвера платы видеозахвата переставь!


Наверх

Титульная страница Поиск, карта сайта Написать письмо