gboolean GStreamerReader::EventProbeCb(GstPad* aPad, GstEvent* aEvent, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); return reader->EventProbe(aPad, aEvent); }
gboolean GStreamerReader::SeekDataCb(GstAppSrc* aSrc, guint64 aOffset, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); return reader->SeekData(aSrc, aOffset); }
void GStreamerReader::NeedDataCb(GstAppSrc* aSrc, guint aLength, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); reader->NeedData(aSrc, aLength); }
GstPadProbeReturn GStreamerReader::EventProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData) { GStreamerReader *reader = (GStreamerReader *) aUserData; GstEvent *aEvent = (GstEvent *)aInfo->data; return reader->EventProbe(aPad, aEvent); }
GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad, guint64 aOffset, guint aSize, GstCaps* aCaps, GstBuffer** aBuf) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf); }
void GStreamerReader::PlayBinSourceSetupCb(GstElement* aPlayBin, GParamSpec* pspec, gpointer aUserData) { GstElement *source; GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); g_object_get(aPlayBin, "source", &source, nullptr); reader->PlayBinSourceSetup(GST_APP_SRC(source)); }
GstFlowReturn GStreamerReader::NewPrerollCb(GstAppSink* aSink, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); if (aSink == reader->mVideoAppSink) reader->VideoPreroll(); else reader->AudioPreroll(); return GST_FLOW_OK; }
GstFlowReturn GStreamerReader::NewBufferCb(GstAppSink* aSink, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); if (aSink == reader->mVideoAppSink) reader->NewVideoBuffer(); else reader->NewAudioBuffer(); return GST_FLOW_OK; }
void GStreamerReader::EnoughDataCb(GstAppSrc* aSrc, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); reader->EnoughData(aSrc); }
GstPadProbeReturn GStreamerReader::QueryProbeCb(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); return reader->QueryProbe(aPad, aInfo, aUserData); }
void GStreamerReader::EosCb(GstAppSink* aSink, gpointer aUserData) { GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); reader->Eos(aSink); }