Andrew den Exter 5deb9dda60 [camera] Fix crashes and lockups caused by changing the capture mode during an image capture. Contributes to JB#42936
A camera source may reject changing the mode while it is busy leaving
the the camerabin plugin in a state inconsistent with the gstreamer
pipeline which can lead to attempts to record video in the image
capture mode and ultimately a lockup.

Changing any of the source resolutions requires putting the pipeline
into the the READY state to apply the changes. If this happened during
a capture the state change was deferred and the internal plugin state
was restored to active before the capture finished and the state changes
were treated as a no-op and the resolution change wasn't applied leading
to an attempt to record video with an unsupported resolution set for
the image capture mode. So if a change to a lower state is requested
and the plugin is unable to process it immediately still defer the
change but ensure the pipeline is still dropped to the lowest requested
state before being restored to the current requested state so that
any changes made on state transitions are applied.
2018-11-28 22:14:16 -05:00
2016-09-12 10:58:51 +00:00
2016-05-04 04:28:10 +00:00
2012-09-03 19:53:28 +02:00
2015-02-12 10:27:47 +00:00
Description
No description provided
17 MiB
Languages
C++ 90.5%
Objective-C++ 5.8%
QMake 1%
Objective-C 0.9%
QML 0.5%
Other 1%