helpGnash - The GNU Flash player - Support: sr #109027, gst_install_plugins_sync does not...

 
 

sr #109027: gst_install_plugins_sync does not return

Submitted by:  Dag Hovland <daghovland>
Submitted on:  Mon 02 May 2016 09:23:04 AM UTC  
 
Category: NonePriority: 5 - Normal
Severity: 3 - NormalStatus: None
Privacy: PublicAssigned to: None
Open/Closed: OpenOperating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 24 May 2016 12:21:51 PM UTC, comment #5:

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)

Dag Hovland <daghovland>
Sun 15 May 2016 03:37:28 AM UTC, comment #4:

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 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.

Nutchanon Wetchasit <nachanon>
Fri 13 May 2016 09:42:02 AM UTC, comment #3:

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

Dag Hovland <daghovland>
Thu 12 May 2016 07:16:32 AM UTC, comment #2:

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.

Nutchanon Wetchasit <nachanon>
Thu 12 May 2016 07:14:37 AM UTC, comment #1:

On my system, the codec installation wizard completes (sort of), and second run of Gnash displayed the video correctly.

  • I ran `gnash -vv http://discoverykids.com/files/games/pompeii/media/global.swf`.
  • Gnash froze, and codec installation prompt dialog appeared.
  • When clicked "Search", the codec installation wizard appeared.
  • Codec installation wizard requested to install "Sorenson Spark Video decoder", which is shown to be provided by package "gstreamer0.10-ffmpeg".
  • When clicked "Install", package manager dialog appeared, and the installation went on successfully.
  • When the wizard ended, Gnash unfroze, but still not playing the earth animation.
  • After few seconds, somehow, Gnash froze and codec installation prompt dialog appeared again.
  • I clicked "Cancel" this time, and terminated Gnash by closing its window.
  • I ran `gnash -vv http://discoverykids.com/files/games/pompeii/media/global.swf` again.
  • Gnash is now playing the earth animation.

Since GStreamer's `gst_install_plugins_sync()` function is designed to block until the codec installation finished, it is expected that Gnash freezes until the codec installation wizard terminates. (On my system, the wizard is `gnome-codec-install` program)

But in your case, it seems that the wizard somehow didn't terminate, so Gnash was left freezing.

To see if this is the case, when Gnash freezes in second run:

  • Press Ctrl+Z on the terminal.
  • Run `ps fww` command. (Post this command's result here too, if you can)
  • If you see the wizard process run under Gnash, then it could be certain that the wizard is not behaving the way it supposed to.
  • After you finished observing the result, run `fg` command, and press Ctrl+C to terminate Gnash.

Also, as your system might be vastly different from mine (thus could invalidate all of my assumptions), it leads to certain obligatory questions:

  • Which Gnash version you are using?
  • Which GNU/Linux distribution (and version) you're on?

So that other users or maintainer could try to reproduce this issue.

Gnash: 0.8.11dev (git c6da486 10-May-2016) configured with `--enable-media=gst`
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>
Mon 02 May 2016 09:23:04 AM UTC, original submission:

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:

dag@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

Dag Hovland <daghovland>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #37249:  async.patch added by daghovland (2KiB - text/x-patch - Code for async plugin installation)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by nachanon (Posted a comment)
  • -unavailable- added by daghovland (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 24 May 2016 12:21:51 PM UTCdaghovlandAttached File-=>Added async.patch, #37249

    Back to the top


    Powered by Savane 3.1-cleanup1