diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp index cc7aef3676b7aaa5478c9fca0b5874915c4873f6..a96da66f8244440875715448201927f1a0ca10df 100644 --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp @@ -1541,10 +1541,17 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo //set timeout property to 30 seconds const int timeout = 30; if (qstrcmp(G_OBJECT_CLASS_NAME(G_OBJECT_GET_CLASS(source)), "GstUDPSrc") == 0) { - //udpsrc timeout unit = microsecond - //The udpsrc is always a live source. - g_object_set(G_OBJECT(source), "timeout", G_GUINT64_CONSTANT(timeout*1000000), NULL); + quint64 convertedTimeout = timeout; +#if GST_CHECK_VERSION(1,0,0) + // Gst 1.x -> nanosecond + convertedTimeout *= 1000000000; +#else + // Gst 0.10 -> microsecond + convertedTimeout *= 1000000; +#endif + g_object_set(G_OBJECT(source), "timeout", convertedTimeout, NULL); self->m_sourceType = UDPSrc; + //The udpsrc is always a live source. self->m_isLiveSource = true; } else if (qstrcmp(G_OBJECT_CLASS_NAME(G_OBJECT_GET_CLASS(source)), "GstSoupHTTPSrc") == 0) { //souphttpsrc timeout unit = second