FS#14684 - miro package is missing dependency on python gstreamer bindings

Attached to Project: Arch Linux
Opened by Petr Mrázek (Peterix) - Monday, 11 May 2009, 16:07 GMT
Last edited by Ronald van Haren (pressh) - Sunday, 24 May 2009, 21:22 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Ronald van Haren (pressh)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
When I install miro, i get this:
Optional dependencies for miro
gstreamer0.10-python: gstreamer backend (potentially unstable)
gstreamer0.10: gstreamer backend (potentially unstable
Which is wrong, because gstreamer is the *default* backend for miro. This leads to weird error messages and eventually, miro fails to start. Then you either have to install these bindings or edit the prefs.js file. Also, it's the Xine backend that crashes over here every time a video stops playing...

Additional info:
packages miro, gstreamer0.10-python


Steps to reproduce:
Install miro on a clean machine without python gstreamer bindings. Run the application. Try watching a video (you get an error). Close the app. You can't open miro again under the same user.
This task depends upon

Closed by  Ronald van Haren (pressh)
Sunday, 24 May 2009, 21:22 GMT
Reason for closing:  Fixed
Additional comments about closing:  2.0.4-4 (see comment)
Comment by Ronald van Haren (pressh) - Tuesday, 12 May 2009, 09:10 GMT
About the unstable message, at the beginning of the 2 series miro was majorly unstable with the gstreamer backend. I'll check again for next update.

About the gstreamer issue, unless I miss some hidden configuration file apart from ~/.miro and somewhere in ~/.gconf, miro correctly detects to use the xine backend when I don't have gstreamer installed. Or do you mean you have gstreamer installed but not the python bindings 'cause I haven't tested that.
Comment by Ronald van Haren (pressh) - Tuesday, 12 May 2009, 09:25 GMT
mmm if I set it to gstreamer backend without having gstreamer installed it just doesn't play anything after a restart, but I am still able to restart the app as much times as I want.

If your only problem is the engine, you can set another engine with a simple swith, for example 'miro --set renderer=xine' so there should be no need to edit any config files.
Comment by Petr Mrázek (Peterix) - Tuesday, 12 May 2009, 22:18 GMT
Well, gstreamer in miro has in my experience less problems than xine. Miro crashes when I stop a video while using xine, which stops all the downloads and it's generally annoying. Maybe it's a video driver problem... I would have to try it on an ATI or Intel machine, try older versions of xine, etc.

The thing is that I get that error when I rename ~/miro to something else and run the app 'for the first time'. I have both gstreamer and xine installed, but I don't have the gstreamer python bindings. I get an error immediately after staring the app. Closing and reopening Miro leads to non-working miro. Installing the gstreamer bindings at this point resolves the problem.

I've attached a file with miro console output showing the error. It tries to load the gstreamer bindings twice and fails. Xine is never mentioned. Then it tries to search through the default video folder and scan the media files there for metadata. Unfortunately, it never loaded any backend and with 'unknown error'.

https://develop.participatoryculture.org/trac/democracy/wiki/GTKX11BuildDocs << dependencies list both xine and gstreamer, no mention of them being optional.
http://bugzilla.pculture.org/show_bug.cgi?id=11416 << the same bug.

Also, the settings dialog lists both gstreamer and xine when I set miro to use xine and remove the python bindings. The packaging is wrong for the set of bugs miro exhibits (bad backend/error detection). It's certainly miro that needs fixing, but adding the bindings as a dependency should resolve this until someone fixes the real problem. I'll try doing that once I get some more time to spend on this ~_~.
Comment by Ronald van Haren (pressh) - Wednesday, 13 May 2009, 07:13 GMT
The xine crashes after playing a video are related to another miro bug. It happens on my machine when it does not correctly detects the xine renderer backend to use. For example when it wrongly detects to use the xv backend on my desktop it crashes. When I set the xine renderer manually via 'miro --set xine-driver=opengl' to use opengl (you can use all available backends so results may vary per machine) it works just fine. This happened sometime last year I think in the beginning of the xine-lib 1.1.16 series.

It is a shame that miro is not able to correctly detect the backend to use when you have some of the gstreamer packages installed. How difficult can it be when it errors on the gst python bindings to say, o let's try the xine backend...really?! I never understood why they went the gstreamer way (the first releases were xine based irrc), probably because they use gnome...but then why do we need qt3 to build it.
One can only whish they would give the linux version a bit more love. It is missing functionality which is available on the windows version and it experiences a whole lot of strange bugs (and that's on a lot of distros including opensuse/fedora).

Back on topic I can probably add gstreamer0.10 and gstreamer0.10-python as a dependency instead of an optional dependency. It does not seem to pull in a lot of crap so that is fine, even for the people who do not want to use the gstreamer backend. I imagine you would still not be able to play anything as then there are no plugins installed by default so I would need to let it optdepend on gstreamer0.10-plugins, or maybe just gstreamer0.10-ffmpeg ?
Does it give some sane error message when you try to play a video with just gstreamer0.10 and gstreamer0.10-python installed or does it have some weird behavior in that case?
Comment by Ronald van Haren (pressh) - Sunday, 24 May 2009, 21:22 GMT
gstreamer0.10-python, gstreamer0.10 and gstreamer0.10-good added to deps, those seems to be enough to start without error messages if I'm correct.

Loading...