16 #include <vlutil/vlString.h>
17 #include <vlutil/vlTime.h>
19 #include <gst/gstelement.h>
20 #include <gst/app/gstappsrc.h>
25 class DtLgrPlaybackDriver;
37 virtual ~DtLgrGStreamerPipeline();
41 virtual
bool initializePipeline(const DtString& pipelineConfigurationToUse);
44 virtual
void setPipeline(GstElement* pipeline);
47 virtual
bool startPipeline();
50 virtual const DtString& pipelineConfiguration() const;
53 void destroyPipeline();
56 virtual
void tick(
double currentTime);
59 virtual
bool isStarted() const;
65 virtual
void unpause();
68 virtual
bool isPaused();
71 virtual
void setSpeed(
double speed);
74 virtual
bool jumpToPosition(
double position);
77 virtual
double position() const;
80 virtual
double duration() const;
83 virtual
void sendEos(
bool waitForSignal) const;
86 virtual
void overlayVideoSink();
89 virtual
void exposeWindow();
92 virtual
void switchToInterVideoSink(const
char* channel=0);
98 static
void setMediaSpeedFactor(
double mediaSpeedFactor);
99 static
double mediaSpeedFactor();
104 static
void setMediaWindowHandle(
void* windowHandle);
105 static
void* mediaWindowHandle();
109 virtual
void setDriver(DtLgrPlaybackDriver* driver);
114 virtual
bool isPipelineReady();
118 virtual
bool sendSpeedEvent(
double speed);
122 virtual
bool sendJumpToPosition(
double position);
125 virtual
void printMessage(const DtString& label, GstMessage *message) const;
130 static GstBusSyncReply overlayWindowHandle(GstBus *bus, GstMessage *message, gpointer user_data);
134 DtString myPipelineConfiguration;
136 bool myOkToPushBuffers;
139 GstElement* myPipeline;
142 double myResendSpeedTime;
145 bool myOverlayVideoSink;
151 DtLgrPlaybackDriver* myDriver;
154 static
double theMediaSpeedFactor;
155 static
bool theGsInitialized;
156 static
void* theMediaWindowHandle;
160 #endif // GST_ENABLED
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Contains lgrCore library definitions.