OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVideoSource.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: ossimVideoSource.h 2695 2011-06-08 21:12:15Z oscar.kramer $
12 
13 #ifndef ossimVideoSource_HEADER
14 #define ossimVideoSource_HEADER
15 
16 #include <ossim/base/ossimRefPtr.h>
17 #include <ossim/base/ossimSource.h>
19 #include <ossim/base/ossimIpt.h>
20 
21 class ossimVideoGeometry;
23 
24 //*************************************************************************************************
26 //*************************************************************************************************
28 {
29 public:
30 
31  enum SeekType
32  {
33  SEEK_NONE = 0,
34  SEEK_RELATIVE = 1,
35  SEEK_ABSOLUTE = 2
36  };
37 
38  //**********************************************************************************************
39  // The following are first declared in ossimVideoSource (and derived types).
40  // Generally implemented as pass-through calls to this objects video source input.
41  //**********************************************************************************************
43  virtual void rewind();
44 
47  virtual bool seek(ossim_float64 reference_time_sec, SeekType seekType);
48 
50  virtual bool nextFrame();
51 
53  virtual ossim_float64 duration() const;
54 
56  virtual ossim_uint32 getNumberOfFrames() const;
57 
59  virtual ossim_float64 currentFrameTime() const;
60 
62  virtual ossim_float64 videoFrameRate() const;
63 
67  int computeFrameNumber(double seconds_from_start) const;
68 
72  double computeFrameTime(ossim_uint32 frame_count) const;
73 
75  virtual const ossimRefPtr<ossimVideoGeometry> getVideoGeometry() const;
76 
78  virtual const ossimRefPtr<ossimVideoImageHandler> getCurrentFrame() const;
79 
81  const ossimIpt& frameSize() const { return m_frameSize; }
82 
83  //**********************************************************************************************
84  // The following are implementations of ossimConnectableObject virtuals:
85  //**********************************************************************************************
87  virtual bool canConnectMyInputTo(ossim_int32 index, const ossimConnectableObject* object) const;
88 
91  virtual bool canConnectMyOutputTo(ossim_int32 index, const ossimConnectableObject* object) const;
92 
93 protected:
96 
98 
99  TYPE_DATA
100 
101 };
102 #endif
#define OSSIMDLLEXPORT
Pure virtual base class for all video sources – analogous to ossimImageSource.
const ossimIpt & frameSize() const
Nominal size of a frame in pixels.
ossimIpt m_frameSize
in pixels
double ossim_float64
#define TYPE_DATA
Definition: ossimRtti.h:339
OSSIM Image handler for video frames.
unsigned int ossim_uint32
Pure virtual base class for all video data.
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex, const ossimConnectableObject *object) const =0
required to be overriden by derived classes
virtual bool canConnectMyOutputTo(ossim_int32 myOutputIndex, const ossimConnectableObject *object) const
default implementation is to allow anyone to connect to us.
int ossim_int32