Further work on gstreamer video support, not working yet
This commit is contained in:
1 parent
1bc7ff8944
commit
5264e1f291
13 files changed
+273
-20
No files matched your search
@@ -1,11 +1,15 @@
|
||||
#pragma once
|
||||
#include "gst/gst.h"
|
||||
#include "GstreamerVideo.h"
|
||||
#include "gst\app\gstappsink.h"
|
||||
|
||||
using namespace std;
|
||||
class GstreamerVideoStream
|
||||
{
|
||||
|
||||
public:
|
||||
int ID;
|
||||
bool Closed;
|
||||
|
||||
GstreamerVideoStream(int ID);
|
||||
~GstreamerVideoStream(void);
|
||||
@@ -14,12 +18,33 @@ public:
|
||||
bool CloseVideo();
|
||||
|
||||
float GetVideoLength();
|
||||
UINT8* GetFrame(float Time, float &VideoTime);
|
||||
guint8* GetFrame(float Time, float &VideoTime, int &Size, int &Width, int &Height);
|
||||
bool Skip(float Start, float Gap);
|
||||
void SetVideoLoop(bool Loop);
|
||||
void PauseVideo();
|
||||
void ResumeVideo();
|
||||
|
||||
bool Finished();
|
||||
void UpdateVideo();
|
||||
|
||||
bool IsFinished();
|
||||
|
||||
private:
|
||||
GstAppSink *Appsink;
|
||||
GstElement *Element;
|
||||
GstBus *Bus;
|
||||
GstMessage *Message;
|
||||
GstMapInfo Mapinfo;
|
||||
|
||||
gboolean Loop;
|
||||
|
||||
gboolean Running;
|
||||
|
||||
gboolean Paused;
|
||||
gboolean Finished;
|
||||
|
||||
gfloat Duration;
|
||||
|
||||
void RefreshDuration();
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user