static gboolean GstAudioDrmInitDataCb_(int* drmhandle, unsigned int len,
unsigned char* psshdata,
void* userdata);
+ static void GstPrerollDecodedVideoBufferCb_(GstElement* element,
+ GstBuffer* buffer, GstPad* pad,
+ void* userdata);
static void GstDecodedVideoBufferCb_(GstElement* element,
GstBuffer* buffer, GstPad* pad,
void* userdata);
}
if (videosink_name &&
- (strstr(videosink_name, "fakesink") || strstr(videosink_name, "tizenwlsink")))
+ (strstr(videosink_name, "fakesink") || strstr(videosink_name, "tizenwlsink"))) {
+ pipeline_->SignalConnect(Elements::kSinkVideo, "preroll-handoff",
+ G_CALLBACK(GstPrerollDecodedVideoBufferCb_), this);
pipeline_->SignalConnect(Elements::kSinkVideo, "handoff",
G_CALLBACK(GstDecodedVideoBufferCb_), this);
+ }
if (internal::IsVideoDecodedBufferNeeded(decoded_buffer_type_)) {
CreateTbmBufferManager_(track);
}
}
+void TrackRenderer::GstPrerollDecodedVideoBufferCb_(GstElement* element,
+ GstBuffer* buffer,
+ GstPad* pad,
+ void* userdata) {
+ TRACKRENDERER_DEBUG("Preroll decoded buffer");
+ GstDecodedVideoBufferCb_(element, buffer, pad, userdata);
+}
+
void TrackRenderer::GstDecodedVideoBufferCb_(GstElement* element,
GstBuffer* buffer,
GstPad* pad,