<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qt5/qtmultimedia.git, branch v5.11.2</title>
<subtitle>code.qt.io: qt/qtmultimedia.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/'/>
<entry>
<title>Add changes file for Qt 5.11.2</title>
<updated>2018-08-29T10:16:00+00:00</updated>
<author>
<name>Antti Kokko</name>
<email>antti.kokko@qt.io</email>
</author>
<published>2018-08-28T08:37:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=320a109d19a515eec370761c8ccb0a83d4e1de2f'/>
<id>320a109d19a515eec370761c8ccb0a83d4e1de2f</id>
<content type='text'>
Change-Id: I4d2af3eae00be23afefcfce7b1cc71d011cee126
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4d2af3eae00be23afefcfce7b1cc71d011cee126
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Gstreamer: Set video-profile to CameraBin before GST_STATE_READY</title>
<updated>2018-08-22T12:43:55+00:00</updated>
<author>
<name>VaL Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-08-22T08:49:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=c1ca9510af3c3c4134b717f1863651783e338a9e'/>
<id>c1ca9510af3c3c4134b717f1863651783e338a9e</id>
<content type='text'>
CameraBin creates default (application/ogg, video/x-theora) video profile
or sets custom defined one, but ONLY on GST_STATE_CHANGE_NULL_TO_READY.

If the camera is already loaded then it is not possible to change the video profile.

Since a video profile was never defined, video/x-theora was always used to record video.

Moved setting video profile before it gets to READY.
It fixes an issue with ignoring CameraBinRecorder::applySettings().
This also changes previous behavior when video/x-theora was always used.

To apply custom video settings it requires to use QMediaRecorder::setVideoSettings
before the camera enters the READY state.

Task-number: QTBUG-69895
Change-Id: I3afbf1f8e7c953e2e49e9cad7e96ea0b18a29d1a
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CameraBin creates default (application/ogg, video/x-theora) video profile
or sets custom defined one, but ONLY on GST_STATE_CHANGE_NULL_TO_READY.

If the camera is already loaded then it is not possible to change the video profile.

Since a video profile was never defined, video/x-theora was always used to record video.

Moved setting video profile before it gets to READY.
It fixes an issue with ignoring CameraBinRecorder::applySettings().
This also changes previous behavior when video/x-theora was always used.

To apply custom video settings it requires to use QMediaRecorder::setVideoSettings
before the camera enters the READY state.

Task-number: QTBUG-69895
Change-Id: I3afbf1f8e7c953e2e49e9cad7e96ea0b18a29d1a
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Gstreamer: Fix gst_mini_object_unref: assertion refcount &gt; 0 failed</title>
<updated>2018-08-22T11:00:38+00:00</updated>
<author>
<name>VaL Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-08-22T08:25:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=d84c7d09df16d5e60cd5067005ec97498f8b4e32'/>
<id>d84c7d09df16d5e60cd5067005ec97498f8b4e32</id>
<content type='text'>
gst_value_get_sample does not return a reference to the sample.
Should not call gst_sample_unref.

Change-Id: Ibf71e6844b5756d85aac541a68e4e4ae4eefe498
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gst_value_get_sample does not return a reference to the sample.
Should not call gst_sample_unref.

Change-Id: Ibf71e6844b5756d85aac541a68e4e4ae4eefe498
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Gstreamer: Fix crash when resolution or frame rates are requested</title>
<updated>2018-08-22T06:53:34+00:00</updated>
<author>
<name>VaL Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-08-17T14:09:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=2af2d8359c835c1d9347c50b89b7c24658858d35'/>
<id>2af2d8359c835c1d9347c50b89b7c24658858d35</id>
<content type='text'>
When either resolution or frame rates have been requested when
the camera is in unloaded state, caps might not have some values.

Change-Id: Ie935c62d02e10f762957ecd9f89255ad0e8fbd0b
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When either resolution or frame rates have been requested when
the camera is in unloaded state, caps might not have some values.

Change-Id: Ie935c62d02e10f762957ecd9f89255ad0e8fbd0b
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Fix the player state when play() is called with no media</title>
<updated>2018-08-16T14:02:12+00:00</updated>
<author>
<name>Val Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-07-27T13:34:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=b799d36a9e543bccd921399e929ef7ad17f15497'/>
<id>b799d36a9e543bccd921399e929ef7ad17f15497</id>
<content type='text'>
If play() is called before any media is set, don't change the current state
to PlayingState.

This was inconsistent with the other backends, and required an unneeded
call to stop() when a media later got set.

Task-number: QTBUG-68998
Change-Id: I8281c7bf83e36e9a80f2136ca9fc2430c55e8bd6
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If play() is called before any media is set, don't change the current state
to PlayingState.

This was inconsistent with the other backends, and required an unneeded
call to stop() when a media later got set.

Task-number: QTBUG-68998
Change-Id: I8281c7bf83e36e9a80f2136ca9fc2430c55e8bd6
Reviewed-by: Christian Stromme &lt;christian.stromme@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>AVFoundation: Use opengl context from surface as shared</title>
<updated>2018-08-02T11:46:55+00:00</updated>
<author>
<name>VaL Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-06-25T13:21:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=02ac3f58721bb52db612acd3bb2e2c26bfc3e05b'/>
<id>02ac3f58721bb52db612acd3bb2e2c26bfc3e05b</id>
<content type='text'>
Since few opengl contexts could be used at the same time,
CARenderer could use wrong context to render the video frame.

If the video surface contains an opengl context then need to use it as shared
regardless of existing of current context.

Change-Id: Ie7e87682c73c0fd341b40c05e3f3c4a70d563242
Reviewed-by: Andy Nichols &lt;andy.nichols@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since few opengl contexts could be used at the same time,
CARenderer could use wrong context to render the video frame.

If the video surface contains an opengl context then need to use it as shared
regardless of existing of current context.

Change-Id: Ie7e87682c73c0fd341b40c05e3f3c4a70d563242
Reviewed-by: Andy Nichols &lt;andy.nichols@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DirectShow: Notify if camera has been unplugged</title>
<updated>2018-08-02T09:21:16+00:00</updated>
<author>
<name>Val Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-05-09T11:50:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=1b58b96bdf32ab9a89cba0ae43170804c0571ede'/>
<id>1b58b96bdf32ab9a89cba0ae43170804c0571ede</id>
<content type='text'>
If being used camera has been disconnected, state and status will
remain like it is still active. Also no events are sent.
Previously to fix this the camera needed to be unloaded and loaded again manually.

IMediaEvent provides an ability to catch device removal notification
with EC_DEVICE_LOST event.

Since ISampleGrabber is used to get buffers.
Added a fix to check if no buffers received for some time
afterwards check for EC_DEVICE_LOST event.
In case if the device is lost, the camera should be unloaded.

Change-Id: I3a5edf00ce8ee25d8b06800fdad833a722bdba0d
Task-number: QTBUG-68035
Reviewed-by: VaL Doroshchuk &lt;valentyn.doroshchuk@qt.io&gt;
Reviewed-by: Maurice Kalinowski &lt;maurice.kalinowski@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If being used camera has been disconnected, state and status will
remain like it is still active. Also no events are sent.
Previously to fix this the camera needed to be unloaded and loaded again manually.

IMediaEvent provides an ability to catch device removal notification
with EC_DEVICE_LOST event.

Since ISampleGrabber is used to get buffers.
Added a fix to check if no buffers received for some time
afterwards check for EC_DEVICE_LOST event.
In case if the device is lost, the camera should be unloaded.

Change-Id: I3a5edf00ce8ee25d8b06800fdad833a722bdba0d
Task-number: QTBUG-68035
Reviewed-by: VaL Doroshchuk &lt;valentyn.doroshchuk@qt.io&gt;
Reviewed-by: Maurice Kalinowski &lt;maurice.kalinowski@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DirectShow: Postpone setting camera image processing param if not ready</title>
<updated>2018-08-02T08:28:46+00:00</updated>
<author>
<name>Val Doroshchuk</name>
<email>valentyn.doroshchuk@qt.io</email>
</author>
<published>2018-07-27T10:42:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=89e6018f6f45350924e3c5f7007f779b9ed4cdeb'/>
<id>89e6018f6f45350924e3c5f7007f779b9ed4cdeb</id>
<content type='text'>
Setting camera image processing parameters fails if the graph
builder is not ready.

We avoid this race condition by having a list of pending parameter
changes which is applied when graph builder has been created.

Task-number: QTBUG-69143
Change-Id: I5702ea5a2dceacff333fcf8dce05372a0208b8d9
Reviewed-by: Oliver Wolff &lt;oliver.wolff@qt.io&gt;
Reviewed-by: Maurice Kalinowski &lt;maurice.kalinowski@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setting camera image processing parameters fails if the graph
builder is not ready.

We avoid this race condition by having a list of pending parameter
changes which is applied when graph builder has been created.

Task-number: QTBUG-69143
Change-Id: I5702ea5a2dceacff333fcf8dce05372a0208b8d9
Reviewed-by: Oliver Wolff &lt;oliver.wolff@qt.io&gt;
Reviewed-by: Maurice Kalinowski &lt;maurice.kalinowski@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version</title>
<updated>2018-07-30T16:46:07+00:00</updated>
<author>
<name>Oswald Buddenhagen</name>
<email>oswald.buddenhagen@qt.io</email>
</author>
<published>2018-07-30T16:46:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=7936c055b6becd8e291a93c1d9955a0f460e2d6c'/>
<id>7936c055b6becd8e291a93c1d9955a0f460e2d6c</id>
<content type='text'>
Change-Id: I74a4a3cbe1b37e3cdf21ae31fcca53be073823b1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I74a4a3cbe1b37e3cdf21ae31fcca53be073823b1
</pre>
</div>
</content>
</entry>
<entry>
<title>Gstreamer: Use gst_bus_remove_watch() instead of g_source_remove()</title>
<updated>2018-07-25T15:43:03+00:00</updated>
<author>
<name>Peter Seiderer</name>
<email>ps.report@gmx.net</email>
</author>
<published>2018-07-09T07:39:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtmultimedia.git/commit/?id=5488653cf82ad4ed94be4167a6281356b678928d'/>
<id>5488653cf82ad4ed94be4167a6281356b678928d</id>
<content type='text'>
Avoids critcial warning ('GLib-CRITICAL **: Source ID 10 was not found when
attempting to remove it') in case the applications initiates another glib
context/main loop.

The new gst_bus_remove_watch() is available since gstreamer API 1.6,
otherwise fall back to g_source_remove().

Task-number: QTBUG-69468
Change-Id: I4343865cb41a2d62ac4b0c0c04f60f13727f56d0
Reviewed-by: VaL Doroshchuk &lt;valentyn.doroshchuk@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoids critcial warning ('GLib-CRITICAL **: Source ID 10 was not found when
attempting to remove it') in case the applications initiates another glib
context/main loop.

The new gst_bus_remove_watch() is available since gstreamer API 1.6,
otherwise fall back to g_source_remove().

Task-number: QTBUG-69468
Change-Id: I4343865cb41a2d62ac4b0c0c04f60f13727f56d0
Reviewed-by: VaL Doroshchuk &lt;valentyn.doroshchuk@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
