GNOME Bugzilla – Bug 329629
Inline Audio plugin still uses GStreamer 0.8
Last modified: 2013-09-10 14:04:48 UTC
In Evo 2.5.90 the inline-audio plugin uses gstreamer 0.8, which makes it the only component of GNOME 2.14 to use gstreamer 0.8 rather than 0.10. Porting it should be a very trivial job, and would benefit everyone.
confirming, setting priority and severity, adding target milestone. this is in evolution/configure.in
Good catch, Ross. Maybe some gstreamer hackers can assist here?
Raising Priority. Evo 2.6 officially is part of GNOME 2.14, which will ship with gstreamer 0.10. If this will not be fixed till then, the plugin *must* be disabled. Sadly...
raising severity.
Shouldn't this be on a blocker list of some sort, since some action is required here before the final stable bits? Either this gets fixed or the plugin is disabled (note: that unfortunately, Fedora has already disabled this plugin in order to drop the gstreamer 0.8 dependency).
dunno if gstreamer hackers have to assist here, *if* it's really as trivial as changing "gstreamer-0.8" to "gstreamer-0.10" two times in configure.in. dunno, though. if a wise elder man would tell me "that's all", i'd do it. :-)
It's probably not far off, porting all of Sound Juicer took a few hours. Change configure.in and fix the probably few compile errors.
Code freeze has come and gone. Doesn't seem this got the right love... Plugin should be disabled?
shres, comments? :-)
I'm looking into that.
Created attachment 67597 [details] [review] first untested patch now if i had any clue how to get the gstreamer0.10 mad plugin for suse 10.1, i could actually also *test* my patch with an mp3, grumble... anyway... this is my first try (both to write in C as well as to fix this issue), so be patient, kindly show me my memory leaks, and give me the pat on the back that i don't deserve. ;-)
Created attachment 67598 [details] [review] first untested try damnit... always check out from cvs before hacking...
michael dominic, still looking into this? any news on this? thanks in advance... (i know my patch is crappy :-) )
Sorry, it somehow went off my head. The current code is pretty bad by design. Instead of trying to create various pipelines for different file types, we should use a stock pipeline with the decodebin element. That will work transparently with all kinds of audio the user has support for installed (gst plugins).
retargetting - i'd still be happy to see some progress.
What's the status of this? It was first reported back in the 2.5 series, we're now 2.9 where gst 0.10 is more than standard everywhere!
hum first of all, this plugin doesn't use gconfaudiosink which is bad. We can't expect every users to have the same sink (and a better default would probably be alsasink anyway). second point, as of comment #14, could you detail a bit how to use the decodebin thingy ?
*** Bug 397520 has been marked as a duplicate of this bug. ***
Created attachment 84800 [details] [review] audio-inline.patch First try with gconfaudiosink and fallback to autoaudiosink. Also replaces filesrc with playbin.
Created attachment 84801 [details] [review] org-gnome-audio-inline.eplug.xml.patch support more audio formats
Created attachment 84803 [details] [review] audio-inline.patch little fixes
btw: above patches are untested...
Created attachment 84807 [details] listmain.c Is auto adding supported mime types a good approach? compile with: gcc `pkg-config --cflags --libs libgnomeui-2.0` `pkg-config --cflags --libs gstreamer-0.10` listmain.c -o listmain
to #21: there's a wrong '}' on line 120.
Also, gst_init_check now needs a third parameter: GError ** err
Created attachment 84825 [details] [review] audio-inline.patch (In reply to comment #25 , comment #24): Thanks for your review. Am i using the right way to print the error messages?
Created attachment 84826 [details] [review] configure.in.patch (In reply to comment #12): ported configure.in patch to svn rev 33308. require gstreamer-10
To #26: It builds but it does not work, there's no gst_thread_new anymore in 0.10.
Created attachment 84833 [details] [review] audio-inline.patch (In reply to comment #12 , comment #26): switched to gst_pipeline_new thanks to comment #12 and #gstreamer.
TODO: don't create a tempfile, use GstAppSrc ( Bug #413418 ) instead.
to #29: it doesn't build here: audio-inline.c: In function 'org_gnome_audio_inline_pobject_free': audio-inline.c:63: error: 'struct _org_gnome_audio_inline_pobject' has no member named 'pipline'
If we can get a gstreamer hacker's review too on this, it will be really great. Typo in + po->pipline = NULL;
Created attachment 84838 [details] [review] audio-inline.patch (In reply to comment #31 , comment #32 ): Hopefully last typo :-)
Nothing happens when I press the play button. This is in ~/.xsession-errors: audio inline formatter: format classid org-gnome-audio-inline-button-panel-0 audio inline formatter: format classid org-gnome-audio-inline-button-panel-1 audio inline formatter: play audio inline formatter: write to temp file /home/goetz/.evolution/cache/tmp/org-gnome-audio-inline-file-LgW7HU audio inline formatter: init gst pipeline audio inline formatter: play audio inline formatter: write to temp file /home/goetz/.evolution/cache/tmp/org-gnome-audio-inline-file-cLt4Re audio inline formatter: init gst pipeline audio inline formatter: play
(In reply to comment #34) I have to rework the patch. (Maybe next weekend)
Updating as per comment #35
uargh... this is the last app that still needs gstreamer-0.8. very evil from a platform POV.
Created attachment 94942 [details] [review] gstreamer 0.10 support I've improved previous patch and it is now working as expected. Moreover, it now uses stock buttons for the various commands and change buttons sensitivity according to playback state.
Created attachment 94943 [details] [review] only monitor playbin state change this version only changes button sensitivity when playbin state changes, which fixes some flickring in previous version of the patch. Thanks to Jan Schmidt for gstreamer code review.
The patch makes it work against gstreamer-0.10 and works. So go ahead and commit it. I think the pause functionality is broken. But that is fine, we can fix that.
Thanks, committed : r34180 | fcrozat | 2007-09-05 14:24:44 +0200 (mer, 05 sep 2007) | 11 lines 2007-09-05 Frederic Crozat <fcrozat@mandriva.com> * configure.in: * plugins/audio-inline/org-gnome-audio-inline.eplug.xml * plugins/audio-inline/ChangeLog * plugins/audio-inline/audio-inline.c audio-inline plugin has been ported to gstreamer 0.10 (bug #329629). BTW, pause functionnality is working :) But it would be probably better to rework everything to only have two buttons : play/pause and stop (or only one).