Dag Hovland
2016-06-02 10:52:15 UTC
URL:
<http://savannah.gnu.org/patch/?9016>
Summary: Improved handling of gstreamer plugin installation
returns
Project: Gnash - The GNU Flash player
Submitted by: daghovland
Submitted on: Thu 02 Jun 2016 10:52:12 AM GMT
Category: gui
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This is a fix for bug bug #48087 <https://savannah.gnu.org/bugs/?48087>
Problems:
- The call to gst_install_plugins_sync in libmedia/gst/GstUtil.cpp will not
return if the plugin installer crashes.
- If the plugin installation is unsuccessful or the user cancels,
gst_install_plugins_sync will be called repeatedly, making the movie
unusable.
Changes:
- Changed the call to gst_install_plugins_async, as recommended by the
gstremaer docs.
- Made the movie pause during plugin installation, and resume afterwards. The
user may click "Play" on the screen at any time, e.g. if the installer
crashes.
- Prevented any further install attempts after the user has once clicked
cancel.
- Added dialogs for some of the different return values from the gst plugin
installer: Informing the user about the consequence of plugin installation
errors, and asking the user whether to restart the movie in case of successful
installation.
To do the last part, I had to get hold of a movie_root object, which was not
available in libmedia. I passed the object down all the calls from the classes
in libcore/asobj, where it is available.
Questions:
- Is there a better way to get access to movie_root or the gui? (Sandro
Santili suggests using RunResources instead, but that would also have to be
passed down the same path. I think.)
- Do the automatic pausing of the movie during plugin installation, and the
added dialogs fit in the general user experience?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?9016>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
<http://savannah.gnu.org/patch/?9016>
Summary: Improved handling of gstreamer plugin installation
returns
Project: Gnash - The GNU Flash player
Submitted by: daghovland
Submitted on: Thu 02 Jun 2016 10:52:12 AM GMT
Category: gui
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This is a fix for bug bug #48087 <https://savannah.gnu.org/bugs/?48087>
Problems:
- The call to gst_install_plugins_sync in libmedia/gst/GstUtil.cpp will not
return if the plugin installer crashes.
- If the plugin installation is unsuccessful or the user cancels,
gst_install_plugins_sync will be called repeatedly, making the movie
unusable.
Changes:
- Changed the call to gst_install_plugins_async, as recommended by the
gstremaer docs.
- Made the movie pause during plugin installation, and resume afterwards. The
user may click "Play" on the screen at any time, e.g. if the installer
crashes.
- Prevented any further install attempts after the user has once clicked
cancel.
- Added dialogs for some of the different return values from the gst plugin
installer: Informing the user about the consequence of plugin installation
errors, and asking the user whether to restart the movie in case of successful
installation.
To do the last part, I had to get hold of a movie_root object, which was not
available in libmedia. I passed the object down all the calls from the classes
in libcore/asobj, where it is available.
Questions:
- Is there a better way to get access to movie_root or the gui? (Sandro
Santili suggests using RunResources instead, but that would also have to be
passed down the same path. I think.)
- Do the automatic pausing of the movie during plugin installation, and the
added dialogs fit in the general user experience?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?9016>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/