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

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

Войти
Регистрация
Восстановить пароль
 
HighPredator
5541 / 1854 / 346
Регистрация: 10.12.2010
Сообщений: 5,470
Записей в блоге: 2
#1

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

14.04.2011, 08:59. Просмотров 460. Ответов 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 минут
Вопрос решен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2011, 08:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с avi. Ошибка в коде. (C++):

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

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

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

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

В чём ошибка.В коде там где коментарий там ошибка поучается. - C++
#include <iostream> #include <Windows.h> using namespace std; class CMyString{ char *pStr; public: ...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 08:59
Привет! Вот еще темы с ответами:

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

Ошибка в коде - C++
Я написал код #include<iostream> using namespace std; bool f(int x){ int a = 0; int b = 1; while (x > 0){ a = a + 1; b...

Ошибка в коде - C++
// Perl в С++.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" int _tmain(int argc, _TCHAR*...

Ошибка в коде? - C++
добрый вечер! есть задача: в массиве размерностью более трех найти три наименьших элемента и их номера. код программы: #include...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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