void VideoHttpBuffer::fileSizeChanged(unsigned fileSize) { if (!fileSize) qDebug() << "VideoHttpBuffer: fileSize is 0, may cause problems!"; bool firstTime = gst_app_src_get_size(m_element) <= 0; if (m_element) gst_app_src_set_size(m_element, fileSize); if (firstTime && fileSize) emit bufferingReady(); }
void GstVideoPlayerBackend::setVideoBuffer(VideoHttpBuffer *videoHttpBuffer) { if (m_videoBuffer) { disconnect(m_videoBuffer, 0, this, 0); m_videoBuffer->clearPlayback(); m_videoBuffer->deleteLater(); } m_videoBuffer = videoHttpBuffer; if (m_videoBuffer) { connect(m_videoBuffer, SIGNAL(bufferingStarted()), this, SIGNAL(bufferingStarted())); connect(m_videoBuffer, SIGNAL(bufferingStopped()), this, SIGNAL(bufferingStopped())); connect(m_videoBuffer, SIGNAL(bufferingReady()), SLOT(playIfReady())); connect(m_videoBuffer, SIGNAL(streamError(QString)), SLOT(streamError(QString))); } }