Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Освобождение интерфейса   Найти похожие ветки 

 
jakata   (2006-02-13 18:14) [0]

Не знаю, в тот ли форум пишу.

Проблема такая. Видео захват надо сделать в Delphi.
Задача простая: отобразить видео поток в видео окне, по команде захватить картинку. Предоставить основные настройки захвата: разрешение, источник (Composite, TVTuner, SVideo), стандарт видео (NTSC, SECAM, PAL).

Построила граф виде:
Кроссбар (добавился сам, т.к. intelligent connect юзаю) -> Capture Filter (мой девайс) -> SampleGrabber с capture pin-а -> VideoRenderer

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

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

И самое главное: каким образом в Delphi осуществляется перестроение графа? В С++ можно просто освободить интерфейсы, насколько я понимаю.
ВDelphi я попробовала удалить фильтры из графа. Но толку от этого мало, нужно релизнуть и соответствующий интерфейс. Но у Делфи странная работа с интерфейсами, самостоятельно Release сделать нельзя, видимо, она как-то сама там заботится о подсчете ссылок..
Как тут перестроить граф?
Заранее спасибо.


 
AlterEgo of WondeRu ©   (2006-02-14 23:26) [1]

освобождать ссылки надо с помощью pMyInteface := nil, и то не всегда, обычно менеджер памяти Делфи сам все делает за тебя.
А про C++... боюсь не в ту степь... Почитайте DirectX SDK, там все ясно написано.



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
8-1139930392
denis24
2006-02-14 18:19
2006.08.13
резкость изображения при захвате видео через DSPack


2-1153587491
Борис К.
2006-07-22 20:58
2006.08.13
Как ограничить одновременное количество потоков десятью?


2-1153981167
fedpavel
2006-07-27 10:19
2006.08.13
Qreport


2-1153809928
oleggar
2006-07-25 10:45
2006.08.13
уничтожить процесс


15-1153039011
Cerberus
2006-07-16 12:36
2006.08.13
Альтернетива.