Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Косяк при использовании QuickTime Control-a, Не освобождает память 
:(
    Опции темы
sindi8
  Дата 9.3.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 6.6.2005
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте всем!
Подскажите плиз решить проблему.
Есть у меня задача сделать видео в формате QuickTime из последовательности картинок. Всё зашибись - юзаю контрол, скармливаю ему картинки, он их клеит в видео. Но в один прекрасный момент, когда кончается память, всё падает. Пробовал делать кусками - склеивать картинки по 100 штук, создавать новый файл и продолжать клеить в него. Проблема в том что память всё равно не освобождается! Либо это какой-то косяк в самом контроле, либо я просто чего-то не знаю. Были мысли для каждого фрагмента создавать отдельный контрол, и по завершении работы с ним диспозить его - но не знаю на сколько это правильное решение. Подскажить плиз в какую сторону двигаться.
PM MAIL   Вверх
ivashkanet
Дата 9.3.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



sindi8, а ты для каждой картинки Dispose() вызываешь? (как только она уже не нужна)

Это на вскидку, а так: Что за контрол, как ты ему скармливаешь картинки.

Может ты сам память не высвобождаешь  smile 


PM MAIL WWW ICQ   Вверх
sindi8
Дата 14.3.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 6.6.2005
Где: Москва

Репутация: нет
Всего: нет



ivashkanet, картинки вроде бы убиваю. Во всяком случае если эти же генерируемые картинки просто рисую на экране - память не забивается. А забивается она именно когда начинаю работать с QuickTime. Делаю это следующим образом:
Код

qtplayer.CreateNewMovie(true);
qtplayer.Movie.TimeScale = 25; //Количество кадров в секунду
for (int i=0; i<_count; i++)
{
    /*генерю картинку img и отправляю её через буфер обмена в контрол QuickTime*/
    DataObject dataobj = new DataObject();
    dataobj.SetData(DataFormats.Bitmap, img);
    Clipboard.SetDataObject(dataobj);
    if (qtplayer.Movie != null)
        qtplayer.Movie.Paste();
    Clipboard.Clear();
    dataobj = null;
    Application.DoEvents();
    img.Dispose();
}
qtplayer.Movie.SaveSelfContained(filename, false); //Сохраняю получившийся фрагмент
qtplayer.QuickTimeTerminate();

Этот фрагмент я исполняю тоже в цикле, т.к. на склейку всей последовательности за раз точно памяти не хватит. Вот так примерно всё выглядит.

ЗЫ: Кстати, забыл сказать - у методов этого контролла от Яблок ваще нет описания - просто СОВСЕМ. Поэтому то что я написал qtplayer.QuickTimeTerminate(); - это предположение, что этим методом я как раз должен освободить занимаемые контроллом ресурсы.

Это сообщение отредактировал(а) sindi8 - 14.3.2007, 13:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1187 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.