Vuo  2.1.1
VuoVideoDecoder.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "module.h"
13 
14 #ifdef __cplusplus
15 extern "C"
16 {
17 #endif
18 
19 #include "VuoAudioFrame.h"
20 #include "VuoVideoFrame.h"
21 #include "VuoUrl.h"
22 
27 {
28 protected:
31  {
32  videoPlayer = NULL;
33  onReadyToPlay = NULL;
34  }
35 
36 public:
37 
39  virtual ~VuoVideoDecoder() {}
40 
42  typedef class VuoVideoPlayer VideoPlayer;
46  void (VideoPlayer::*onReadyToPlay)(bool canPlayMedia);
47 
51  virtual bool IsReady() { return true; }
53  virtual bool NextVideoFrame(VuoVideoFrame* frame) = 0;
55  virtual bool NextAudioFrame(VuoAudioFrame* audio) = 0;
64  virtual bool SeekToSecond(double second, VuoVideoFrame *frame) = 0;
66  virtual double GetDuration() = 0;
69  virtual void SetPlaybackRate(double rate) = 0;
71  virtual double GetLastDecodedVideoTimeStamp() = 0;
73  virtual bool CanPlayAudio() = 0;
75  virtual unsigned int GetAudioChannelCount() = 0;
77  virtual double GetFrameRate() = 0;
78 };
79 
80 
81 #ifdef __cplusplus
82 }
83 #endif