OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVideoHandler.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 // OSSIM -- Open Source Software Image Map
3 //
4 // LICENSE: See top level LICENSE.txt file.
5 //
6 // AUTHOR: Oscar Kramer, GeoEye Inc.
7 //
8 // DESCRIPTION:
9 //
10 //**************************************************************************************************
11 // $Id: ossimVideoHandler.h 2650 2011-05-27 16:53:41Z oscar.kramer $
12 
13 #ifndef ossimVideoHandler_HEADER
14 #define ossimVideoHandler_HEADER
15 
16 #include <ossim/base/ossimRefPtr.h>
19 #include <ossim/base/ossimIpt.h>
21 
22 //*************************************************************************************************
24 //*************************************************************************************************
26 {
27 public:
28 
29  //*************************************************************************************************
30  // The following are first declared here in ossimVideoHandler
31  //*************************************************************************************************
33  virtual bool open(const ossimFilename& videoFile);
34 
36  virtual bool open() = 0;
37 
39  virtual void close() = 0;
40 
42  virtual bool isOpen() const = 0;
43 
45  const ossimFilename& filename() const { return m_videoFilename; }
46 
47  //**********************************************************************************************
48  // The following are implementations of ossimVideoSource virtuals:
49  //**********************************************************************************************
51  virtual void rewind();
52 
55  virtual bool seek(ossim_float64 reference_time_sec, SeekType seekType) = 0;
56 
58  virtual const ossimRefPtr<ossimVideoGeometry> getVideoGeometry() const {return m_videoGeometry;}
59 
61  ossim_float64 currentFrameTime() const { return m_currentFrameTime; }
62 
64  ossim_float64 videoFrameRate() const { return m_frameRate; };
65 
67  ossim_float64 duration() const { return m_videoDuration; }
68 
69  //**********************************************************************************************
70  // The following are implementations of ossimConnectableObject virtuals:
71  //**********************************************************************************************
73  virtual bool canConnectMyInputTo(ossim_int32, const ossimConnectableObject*) const {return false;}
74 
75 protected:
78 
84 
85  TYPE_DATA
86 };
87 #endif
virtual bool canConnectMyInputTo(ossim_int32, const ossimConnectableObject *) const
This object does not accept inputs.
#define OSSIMDLLEXPORT
ossim_float64 videoFrameRate() const
Nominal frames per second.
virtual void rewind()
For rewinding all active streams to beginning.
Pure virtual base class for all video sources – analogous to ossimImageSource.
Pure virtual base class for all video file handlers – analogous to ossimImageHandler.
virtual bool seek(ossim_float64 reference_time_sec, SeekType seekType)
Seeks to the frame at time specified, according to the seekType (relative to active frame or absolute...
ossim_float64 m_currentFrameTime
in seconds from start of video
virtual const ossimRefPtr< ossimVideoGeometry > getVideoGeometry() const
Access to video geometry object.
double ossim_float64
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimRefPtr< ossimVideoGeometry > m_videoGeometry
const ossimFilename & filename() const
Returns filename of previously opened video file.
ossimFilename m_videoFilename
ossim_float64 duration() const
Total length of video in seconds.
ossim_float64 m_frameRate
in frames per second
ossim_float64 currentFrameTime() const
Time in seconds from start of video of the current active frame, or NAN if no active frame...
ossim_float64 m_videoDuration
in seconds
int ossim_int32