diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-15 17:44:19 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-16 20:35:55 +0000 |
commit | 7a4324f5e4c3927b51e4176daf0d8ae6599c984a (patch) | |
tree | 70c0bffdfb637bee35c032ff9147a0df61691c0b | |
parent | 2d49b1b20f3275316310df599f1363ac86b8f078 (diff) |
Pass size to URLRequestJob
If QIODevice has a size we can pass that on as expected size. This
fixes media playback where Chromium does not always support streaming
outside of HTTP or HTTPS.
Task-number: QTBUG-57139
Change-Id: Ie8bf96b1f7f6af80fe707936055620d154c3ef2d
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
-rw-r--r-- | src/core/url_request_custom_job.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/url_request_custom_job.cpp b/src/core/url_request_custom_job.cpp index 887222285..d093efd0a 100644 --- a/src/core/url_request_custom_job.cpp +++ b/src/core/url_request_custom_job.cpp @@ -229,6 +229,9 @@ void URLRequestCustomJobShared::setReplyDevice(QIODevice *device) if (m_device && !m_device->isReadable()) m_device->open(QIODevice::ReadOnly); + qint64 size = m_device ? m_device->size() : -1; + if (size > 0) + m_job->set_expected_content_size(size); if (m_device && m_device->isReadable()) content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, base::Bind(&URLRequestCustomJobShared::notifyStarted, m_weakFactory.GetWeakPtr())); else |