Discussion:
[Gnash-commit] [sr #109027] gst_install_plugins_sync does not return
Dag Hovland
2016-05-02 09:23:05 UTC
Permalink
URL:
<http://savannah.gnu.org/support/?109027>

Summary: gst_install_plugins_sync does not return
Project: Gnash - The GNU Flash player
Submitted by: daghovland
Submitted on: Mon 02 May 2016 09:23:04 AM GMT
Category: None
Priority: 5 - Normal
Severity: 3 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Operating System: GNU/Linux

_______________________________________________________

Details:

Hi!

When running the file at

http://discoverykids.com/files/games/pompeii/media/global.swf

with gtk-gnash, I first get three message about lacking «Sorenson video
decoder». When running a second time, gnash seems to freeze up inside a call
to gst_install_plugins_sync in GstUtil.cpp. I'm not sure whether this is
originally a bug in gnash or in gtk, but I guess gnash could recover more
gracefully from this situation.

This is the console output:

***@dagjobblaptop:~/bin$ gnash ../Nedlastingar/media/global.swf
[17172:1] 83 SECURITY: Checking security of URL
'file:///home/dag/Nedlastingar/media/global.swf'
[17172:1] 83 SECURITY: Load of file /home/dag/Nedlastingar/media/global.swf
granted (under local sandbox /home/dag/Nedlastingar/media/)
[17172:1] 90 SECURITY: Extensions disabled
[17172:2] 91 UNIMPLEMENTED: LanguageCode (1) in DefineFont tag
/usr/lib/python3/dist-packages/sessioninstaller/core.py:47: PyGIWarning: Gst
was imported without specifying a version first. Use gi.require_version('Gst',
'1.0') before import to ensure that the right version gets loaded.
from gi.repository import Gst
/usr/lib/python3/dist-packages/sessioninstaller/core.py:48: PyGIWarning: Gtk
was imported without specifying a version first. Use gi.require_version('Gtk',
'3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk

Cheers,


Dag




_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/support/?109027>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2016-05-12 07:16:32 UTC
Permalink
Follow-up Comment #2, sr #109027 (project gnash):

Side note: Workaround in your case, to my knowledge, is to manually install
`gstreamer0.10-ffmpeg` package which provides Sorenson FLV1 decoder (or
gstreamer-ffmpeg 0.10.x, depends on your distribution). So that the wizard
never need to run again.

_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/support/?109027>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Dag Hovland
2016-05-13 09:42:02 UTC
Permalink
Follow-up Comment #3, sr #109027 (project gnash):

Hi!

My OS is: Ubuntu Linux 16.04 LTS

Gnash version is from git April 28

The original reason for this problem was that gstreamer-ffmpeg is no longer in
the official ubuntu repositories, and has to be installed in other ways. Using
this installation, I don't have the problem anymore.

In case anyone still are interested in this problem:

This is the output from ps fww after backgrounding a frozen gnash session
where no wizard windows turns up. It seems the wizard has started, so I guess
the problem is there, and not in gnash?


PID TTY STAT TIME COMMAND
13020 pts/19 Ss 0:00 bash
13055 pts/19 Tl 0:00 _ /home/dag/bin/gtk-gnash -vv
http://discoverykids.com/files/games/pompeii/media/global.swf
13064 pts/19 Tl 0:00 | _ /usr/bin/python3
/usr/bin/gstreamer-codec-install gstreamer|0.10|gtk-gnash|Sorenson Spark Video
decoder|decoder-video/x-flash-video
13106 pts/19 R+ 0:00 _ ps fww




_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/support/?109027>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2016-05-15 03:37:28 UTC
Permalink
Follow-up Comment #4, sr #109027 (project gnash):

Yes, in this case the problem is rooted in codec installation wizard. (It
should terminate with failure status if there's no package providing the
requested codec or if the installation process failed in any way)

Since the wizard is internal to GStreamer, I don't think Gnash itself could do
anything about it, other than possibly working around by disabling the codec
installation prompt entirely (easy), or keep problem in the background by
switching to asynchronous variant
<https://developer.gnome.org/gst-plugins-libs/0.10/gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async>
of codec installer command (difficult, due to its dependency on GTK main
loop).

Otherwise, users could install `gstreamer0.10-ffmpeg` manually (like you did),
or build Gnash with direct FFmpeg/libAV support to avoid the problem
entirely.

Anyway, glad to see you successfully get it working.


_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/support/?109027>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Dag Hovland
2016-05-24 12:21:52 UTC
Permalink
Follow-up Comment #5, sr #109027 (project gnash):

Hi! It seems to me that there is a gtk main loop running. I tried replacing
with the asynchronous version, as you suggest, and it works fine, at least for
me. I attach a patch below.

(file #37249)
_______________________________________________________

Additional Item Attachment:

File name: async.patch Size:2 KB


_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/support/?109027>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/

Loading...