Files
Vocaluxe/GstreamerHelper/GstreamerVideo.h
T
Stephan Sundermann b60169d2a6 Some cleanup in Gstreamer Audio, should be finished 100% now! Please test
Frames are now pulled in a thread for better performance. We still need to grab the right frame from the Framebuffer and we might need to switch Gstreamer's Frame stepping API.
refs #1
2013-02-22 17:53:57 +01:00

43 lines
1.0 KiB
C++

#pragma once
#include <string>
#include <map>
#include <queue>
#include "gst/gst.h"
#define DllExport extern "C" __declspec(dllexport)
using namespace std;
typedef void (__stdcall * LogCallback)(const char* text);
static LogCallback Log;
struct ApplicationFrame {
guint8* data;
int size;
int width;
int height;
float videotime;
};
DllExport void SetVideoLogCallback(LogCallback Callback);
DllExport bool InitVideo();
DllExport void CloseAllVideos();
DllExport int LoadVideo(const wchar_t* Media);
DllExport bool CloseVideo(int StreamID);
DllExport int GetVideoNumStreams();
DllExport float GetVideoLength(int StreamID);
DllExport struct ApplicationFrame GetFrame(int StreamID, float Time);
DllExport bool Skip(int StreamID, float Start, float Gap);
DllExport void SetVideoLoop(int StreamID, bool Loop);
DllExport void PauseVideo(int StreamID);
DllExport void ResumeVideo(int StreamID);
DllExport bool Finished(int StreamID);
DllExport void UpdateVideo();
void LogVideoError(const char* msg);