Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
#1

Работа с avi. Ошибка в коде. - C++

14.04.2011, 08:59. Просмотров 455. Ответов 0
Метки нет (Все метки)

Приветствую всех. Работаю с видео при помощи vfw. Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* функция извлечения кадра по индексу */
HBITMAP GetFrame(unsigned int FrameIndex)
{
    HBITMAP hBmp;
    gapgf=AVIStreamGetFrameOpen(AviStream,NULL);    //готовим поток к декомпрессии кадров
    if(gapgf==NULL)
    {
        UnloadAvi();
        return NULL;
    }
    lpbi=(PBITMAPINFOHEADER)AVIStreamGetFrame(gapgf,FrameIndex);    //получаем адрес кадра по индексу
    if(lpbi==NULL)
    {
        AVIStreamGetFrameClose(gapgf);    //освобождаем ресурсы выделенные для декомпрессии кадров
        return NULL;
    }
    bits=(char*)(int)lpbi+sizeof(BITMAPINFOHEADER);
    DC_Handle=CreateDC("Display",NULL,NULL,NULL);
    try
    {
        hBmp=CreateDIBitmap(DC_Handle,lpbi,4,bits,(PBITMAPINFO)lpbi,0);
    }
    finally
    {
        DeleteDC(DC_Handle);
    }
    AVIStreamGetFrameClose(gapgf);
    return hBmp;
}
Проблема такая: через каждые 104-105 кадров функция возвращает ноль. Из-за чего может быть такое? Может в коде ошибка? Буду признателен за любую помощь!

Добавлено через 41 секунду
P.S. заранее извиняюсь, если поместил тему не в тот раздел.

Добавлено через 18 часов 20 минут
Вопрос решен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2011, 08:59     Работа с avi. Ошибка в коде.
Посмотрите здесь:

работа со строками, ошибка в коде - C++
#include <iostream> #include <cstring> using namespace std; class str{ char *a; int n; public: str(); ...

Ошибка в коде (работа с массивами) - C++
помогите исправить ошибку в коде немогу понять в чем проблема #include <iostream> #include <string> #include <limits> #include...

Работа со структурой. Ошибка в коде - C++
Задача: Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все...

Работа со структурами, исправить ошибки в коде - C++
Задаю структуру. struct str_Discipl { int Lektchii, Lab, Prakt; String Naimenovanie_distchipliny; }Discipl; struct...

Работа с матрицей - исправить ошибки в коде - C++
работать не хочет... вылетает после 35 строки.(компилит нормально) как быть друзья? #include <stdio.h> #include <stdlib.h> ...

Ошибка в коде - C++
Задание звучит так : Дан двумерный массив размера 3x4. Найти максимальный элемент во второй строке. Вывести на экран максимальный элемент и...

Ошибка в коде - C++
подскажите где ошибка: #include <stdio.h> #include <stdlib.h> #include <iostream.h> #include <time.h> main() { srand...

Ошибка в коде - C++
Создать класс “Поликлиника”, состоящей из класса ”Врач”. Класс “Поликлиника”: номер поликлиники, фамилия заведующей, телефон...

Ошибка в коде - C++
Создать иерархию классов транспорт – воздушный транспорт – вертолет. Определить конструктор копирования, оператор присваивания через...

ОШибка в коде. - C++
#include <iostream> using namespace std; int main() { double sum=1.0; double term=0; double eps; int power=1; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru