MythTV  master
mythmediacodecinterop.h
Go to the documentation of this file.
1 #ifndef MYTHMEDIACODECINTEROP_H
2 #define MYTHMEDIACODECINTEROP_H
3 
4 // Qt
5 #include <QMutex>
6 #include <QWaitCondition>
7 #include <QtAndroidExtras>
8 
9 // MythTV
10 #include "mythopenglinterop.h"
11 
12 extern "C" MTV_PUBLIC void Java_org_mythtv_video_SurfaceTextureListener_frameAvailable(JNIEnv*, jobject, jlong Wait, jobject);
13 
15 {
16  public:
18 
19  virtual vector<MythVideoTexture*> Acquire (MythRenderOpenGL *Context,
20  VideoColourSpace *ColourSpace,
21  VideoFrame *Frame, FrameScanType Scan) override;
22  void* GetSurface(void);
23 
24  protected:
26  ~MythMediaCodecInterop() override;
27  bool Initialise(QSize Size);
28 
29  private:
30  QWaitCondition m_frameWait;
33  QAndroidJniObject m_surface;
34  QAndroidJniObject m_surfaceTexture;
35  QAndroidJniObject m_surfaceListener;
36  jfloatArray m_textureTransform;
37  QMatrix4x4 m_transform;
38 };
39 
40 #endif // MYTHMEDIACODECINTEROP_H
mythopenglinterop.h
Frame
Definition: zmdefines.h:94
MythMediaCodecInterop::Initialise
bool Initialise(QSize Size)
Definition: mythmediacodecinterop.cpp:59
FrameScanType
FrameScanType
Definition: videoouttypes.h:79
Context
QHash< QString, Action * > Context
Definition: action.h:77
MythMediaCodecInterop::m_frameWait
QWaitCondition m_frameWait
Definition: mythmediacodecinterop.h:30
VideoFrame
Definition: mythframe.h:138
MythMediaCodecInterop::m_colourSpaceInitialised
bool m_colourSpaceInitialised
Definition: mythmediacodecinterop.h:32
MythOpenGLInterop
Definition: mythopenglinterop.h:24
MythMediaCodecInterop::~MythMediaCodecInterop
~MythMediaCodecInterop() override
Definition: mythmediacodecinterop.cpp:42
MythMediaCodecInterop::m_surfaceListener
QAndroidJniObject m_surfaceListener
Definition: mythmediacodecinterop.h:35
MythMediaCodecInterop::m_surfaceTexture
QAndroidJniObject m_surfaceTexture
Definition: mythmediacodecinterop.h:34
MythMediaCodecInterop::Create
static MythMediaCodecInterop * Create(MythRenderOpenGL *Context, QSize Size)
Definition: mythmediacodecinterop.cpp:14
MythMediaCodecInterop::GetSurface
void * GetSurface(void)
Definition: mythmediacodecinterop.cpp:47
MythMediaCodecInterop::m_frameWaitLock
QMutex m_frameWaitLock
Definition: mythmediacodecinterop.h:31
MythMediaCodecInterop::m_surface
QAndroidJniObject m_surface
Definition: mythmediacodecinterop.h:33
MythMediaCodecInterop::Acquire
virtual vector< MythVideoTexture * > Acquire(MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan) override
Definition: mythmediacodecinterop.cpp:112
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
MythRenderOpenGL
Definition: mythrenderopengl.h:95
VideoColourSpace
VideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: videocolourspace.h:18
MythMediaCodecInterop
Definition: mythmediacodecinterop.h:15
MythMediaCodecInterop::MythMediaCodecInterop
MythMediaCodecInterop(MythRenderOpenGL *Context)
Definition: mythmediacodecinterop.cpp:26
MythMediaCodecInterop::m_textureTransform
jfloatArray m_textureTransform
Definition: mythmediacodecinterop.h:36
MythMediaCodecInterop::m_transform
QMatrix4x4 m_transform
Definition: mythmediacodecinterop.h:37
Java_org_mythtv_video_SurfaceTextureListener_frameAvailable
MTV_PUBLIC void Java_org_mythtv_video_SurfaceTextureListener_frameAvailable(JNIEnv *, jobject, jlong Wait, jobject)
Definition: mythmediacodecinterop.cpp:52