1 // ----------------------------------------------------------------------------
4 // Author: Guilhem Lavaux
5 // Created: February 1998
7 // Copyright: (C) 1998, Guilhem Lavaux
8 // License: wxWindows license
9 // ----------------------------------------------------------------------------
11 #ifndef __VID_windows_H__
12 #define __VID_windows_H__
15 #pragma interface "vidwin.h"
18 #if defined(__WINDOWS__) && !defined(__MINGW32__) && !defined(__WATCOMC__)
19 // versions of Open Watcom and MinGW tested against this source does not
20 // deliver "digitalv.h" required in this feature
22 // ----------------------------------------------------------------------------
24 // ----------------------------------------------------------------------------
25 // For compilers that support precompilation, includes "wx/wx.h".
26 #include "wx/wxprec.h"
32 // for all others, include the necessary headers (this file is usually all you
33 // need because it includes almost all "standard" wxWidgets headers
35 #include "wx/string.h"
36 #include "wx/stream.h"
37 #include "wx/window.h"
40 // ----------------------------------------------------------------------------
43 #include "wx/mmedia/defs.h"
44 #include "wx/mmedia/vidbase.h"
46 // ----------------------------------------------------------------------------
47 // System headers and private types
49 #ifdef WXMMEDIA_INTERNAL
53 typedef struct VIDW_Internal
{
58 // ----------------------------------------------------------------------------
61 class WXDLLIMPEXP_MMEDIA wxVideoWindows
: public wxVideoBaseDriver
{
62 DECLARE_DYNAMIC_CLASS(wxVideoWindows
)
64 struct VIDW_Internal
*m_internal
;
65 bool m_paused
, m_stopped
, m_remove_file
;
73 wxVideoWindows(wxInputStream
& str
);
74 wxVideoWindows(const wxString
& fname
);
75 ~wxVideoWindows(void);
82 bool GetSize(wxSize
& size
) const;
83 bool SetSize(wxSize size
);
85 // Return codec name for each stream.
86 wxString
GetMovieCodec() const;
87 wxString
GetAudioCodec() const;
88 // Return misc. info about audio
89 wxUint32
GetSampleRate() const;
90 wxUint8
GetChannels() const;
91 wxUint8
GetBPS() const;
92 // Return the frame rate of the video (in frames/second)
93 double GetFrameRate() const;
94 // Return the total number of frames in the movie
95 wxUint32
GetNbFrames() const;
97 bool IsCapable(wxVideoType v_type
) const;
99 bool AttachOutput(wxWindow
& output
);
100 void DetachOutput(void);
102 bool IsPaused() const;
103 bool IsStopped() const;