Vuo  2.3.2
VuoAvDecoder.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "VuoVideoDecoder.h"
13 
14 #ifdef __cplusplus
15 extern "C"
16 {
17 #endif
18 
19 #include "VuoAvPlayerInterface.h"
20 #include "module.h"
21 #include "VuoAudioFrame.h"
22 #include "VuoVideoFrame.h"
23 #include "VuoReal.h"
24 #include "VuoUrl.h"
25 
30 {
31 private:
33  VuoAvPlayerObjPtr player;
34 
35 protected:
38  queue = dispatch_queue_create("org.vuo.avfoundation", NULL);
39  }
40  dispatch_queue_t queue;
41 
42 public:
43 
45  static VuoAvDecoder* Create(VuoUrl url);
46 
48  virtual ~VuoAvDecoder();
52  virtual bool IsReady();
54  virtual bool NextVideoFrame(VuoVideoFrame* frame);
56  virtual bool NextAudioFrame(VuoAudioFrame* audio);
58  virtual bool SeekToSecond(double second, VuoVideoFrame *frame);
60  virtual double GetDuration();
63  virtual void SetPlaybackRate(double rate);
65  virtual double GetLastDecodedVideoTimeStamp();
67  virtual bool CanPlayAudio();
69  virtual unsigned int GetAudioChannelCount();
72  void DecoderReady(bool canPlayMedia);
74  double GetFrameRate();
75 
76 };
77 
78 
79 #ifdef __cplusplus
80 }
81 #endif