annotate data/fileio/VideoFileReader.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents be6d31baecb9
children
rev   line source
ivand_qmul@125 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
ivand_qmul@125 2
ivand_qmul@125 3 /*
ivand_qmul@125 4 Sound Access
ivand_qmul@125 5 EASAIER client application.
ivand_qmul@125 6 Queen Mary 2007. Ivan Damnjanovic.
ivand_qmul@125 7
ivand_qmul@125 8 This program is free software; you can redistribute it and/or
ivand_qmul@125 9 modify it under the terms of the GNU General Public License as
ivand_qmul@125 10 published by the Free Software Foundation; either version 2 of the
ivand_qmul@125 11 License, or (at your option) any later version. See the file
ivand_qmul@125 12 COPYING included with this distribution for more information.
lbajardsilogic@191 13 */
lbajardsilogic@191 14
lbajardsilogic@191 15 #ifndef _VIDEO_FILE_READER_H_
lbajardsilogic@191 16 #define _VIDEO_FILE_READER_H_
lbajardsilogic@191 17
lbajardsilogic@191 18 #include <set>
lbajardsilogic@191 19
lbajardsilogic@191 20 #ifdef HAVE_FFMPEG
ivand_qmul@125 21 #ifdef __cplusplus
ivand_qmul@125 22 extern "C" {
lbajardsilogic@191 23 #endif /*__cplusplus*/
lbajardsilogic@191 24 #include "videoio/SDL_ffmpeg.h"
lbajardsilogic@191 25
ivand_qmul@125 26 #ifdef __cplusplus
ivand_qmul@125 27 }
lbajardsilogic@191 28 #endif /*__cplusplus*/
lbajardsilogic@191 29
lbajardsilogic@191 30 #include "../../sv/main/MainWindow.h"
lbajardsilogic@191 31 #include "CodedAudioFileReader.h"
lbajardsilogic@191 32 //#include "base/AudioCallbackPlaySource.h"
lbajardsilogic@191 33
lbajardsilogic@191 34 //class AudioCallbackPlaySource;
lbajardsilogic@191 35 class QProgressDialog;
lbajardsilogic@191 36
lbajardsilogic@191 37 class VideoFileReader : public CodedAudioFileReader
lbajardsilogic@191 38 {
lbajardsilogic@191 39 public:
lbajardsilogic@191 40 VideoFileReader(QString path, bool showProgress, CacheMode cacheMode);
lbajardsilogic@191 41 virtual ~VideoFileReader();
lbajardsilogic@191 42
lbajardsilogic@191 43 virtual QString getError() const { return m_error; }
lbajardsilogic@191 44
lbajardsilogic@191 45 static void getSupportedExtensions(std::set<QString> &extensions);
lbajardsilogic@191 46 void processEvents();
lbajardsilogic@191 47
lbajardsilogic@191 48 protected:
lbajardsilogic@191 49 QString m_path;
lbajardsilogic@191 50 QString m_error;
lbajardsilogic@191 51 size_t m_fileSize;
lbajardsilogic@191 52 double m_bitrateNum;
lbajardsilogic@191 53 size_t m_bitrateDenom;
lbajardsilogic@191 54 SDL_Surface *screen;
lbajardsilogic@191 55 SDL_ffmpegFile* film;
lbajardsilogic@191 56 QProgressDialog *m_progress;
benoitrigolleau@145 57 bool m_cancelled;
benoitrigolleau@145 58 int m_width;
benoitrigolleau@145 59 int m_height;
benoitrigolleau@167 60 float m_zoomfactor;
ivand_qmul@125 61
ivand_qmul@125 62
lbajardsilogic@191 63
lbajardsilogic@191 64
lbajardsilogic@191 65 bool decodeAudio(SDL_ffmpegFile* file);
lbajardsilogic@191 66 bool videoInit(SDL_ffmpegFile* file);
lbajardsilogic@191 67 int videoPlay();
lbajardsilogic@191 68 static int videoPlayCall(void*);
lbajardsilogic@191 69 };
lbajardsilogic@191 70
lbajardsilogic@191 71 #endif /*HAVE_FFMPEG*/
lbajardsilogic@191 72
lbajardsilogic@191 73 #endif /*_VIDEO_FILE_READER_H_*/