InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer(gint index, GRefPtr<GstPad> pad) : InbandTextTrackPrivate(WebVTT), TrackPrivateBaseGStreamer(this, index, pad) { m_eventProbe = gst_pad_add_probe(m_pad.get(), GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, reinterpret_cast<GstPadProbeCallback>(textTrackPrivateEventCallback), this, 0); notifyTrackOfStreamChanged(); }
InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer(gint index, GRefPtr<GstPad> pad) : InbandTextTrackPrivate(WebVTT), TrackPrivateBaseGStreamer(this, index, pad) { m_eventProbe = gst_pad_add_probe(m_pad.get(), GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, [] (GstPad*, GstPadProbeInfo* info, gpointer userData) -> GstPadProbeReturn { auto* track = static_cast<InbandTextTrackPrivateGStreamer*>(userData); switch (GST_EVENT_TYPE(gst_pad_probe_info_get_event(info))) { case GST_EVENT_STREAM_START: track->streamChanged(); break; default: break; } return GST_PAD_PROBE_OK; }, this, nullptr); notifyTrackOfStreamChanged(); }