Further work on gstreamer video support, not working yet

This commit is contained in:
Stephan Sundermann committed 2013-02-11 20:33:20 +01:00
1 parent 1bc7ff8944
commit 5264e1f291
13 files changed
+273 -20

No files matched your search

+27 -2
View File
@@ -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();
};