GNOME Bugzilla – Bug 156487
[AIX] No native AIX sound plugins for GStreamer
Last modified: 2008-05-08 05:48:30 UTC
Everything is in the summary. I made a patch to support this plateform and have the applet set the "master volume" of the audio device. If anyone is interested in reviewing / submitting the code into CVS. It has been tested on my machine and works fine except that you can't mute it. Also if anybody wants to discuss the "mute" issue, I am well willing to help as much as I can. Vincent.
Created attachment 33081 [details] [review] Proposed patch
Vincent, It seems you've patched the GNOME 2.8 version of the sources, where the mixer applet had multiple backends. GNOME 2.10 will feature an entirely new mixer applet that only uses the Gstreamer multimedia framework. This is the same for gnome-volume-control. I suggest you try out the new CVS mixer applet and see how things go. You might find you instead have to add mixer support for AIX to gstreamer, however you will find this much more useful as more applications in the platform switch to this powerful multimedia framework. Thanks for your hard work so far.
I just wanted to say the same thing... In GStreamer, you can take the OSS or Solaris plugins as an example. They are a lot more complicated because they also contain sources and sinks (for capture/playback), but the mixer code is probably similar to what AIX needs (unlike ALSA of OS X). I suggest using that code as a base template for AIX mixer support in GStreamer. Once that's done, Gnome Volume Control and the Volume Applet will both support AIX automatically. I'll provide any advice needed, although I don't have access to an AIX box myself.
Yeah, actually I made the patch against GNOME 2.6 but merged it with the source of GNOME 2.8 (I thought you would be more interested to have the patch against the latest stable version). I understand the switch to gstreamer (consistency is the key) and could try to work on it if I've got the time. I have well noted your offer about the advices, thanks. By the way, I have just seen that a version 2.8.1 of GNOME has been released. Do you know if a version 2.8.2 is expected ? If so, why not put my patch in the corresponding branch so that it would work under AIX for this version ?
That might make sense. Davyd, what do you think?
Yeah, I always forget about the stable branch. Ronald, if you're happy with it, merge it into gnome-2-8. I think there will not only be a 2.8.2, but also a 2.8.3. Mind you, this better also work in GNOME 2.10 via GStreamer ;) I don't want no stinkin' regression ;)
Comment on attachment 33081 [details] [review] Proposed patch This patch has been applied to the 2.8 branch and will appear in 2.8.2 (well, except for the second AC_OUTPUT()). As for the mute issue... OSS just sets the volume to zero on mute (OSS doesn't actually have a mute state either). Can't you do that for AIX as well? If possible, please provide a patch on top of this patch that adds that.
About the mute issue, the patch does just that, that is it sets the volume to zero, so I was wrong in my previous post, it does work, I tested it yesterday, sorry about that. For the AC_OUTPUT, we need this because otherwise it fails in our build environment. The list of files to output is too long so we need to split it. I am going to check again the exact problem (and associated error) to show you.
The error is when running automake : --------------- Log of automake execution -------------------------------- cd /users5/bergerv/sb/gnome24/src/gnome-applets/ && automake --ignore-deps --add-missing --copy /tmp/t44772.65466/traces.m4:961: /users5/bergerv/sb/gnome24/export/power_510_32/usr/bin/m4: Error matching regular expression "^ *\(.*\) *$" Use of uninitialized value in split at /users5/bergerv/sb/gnome24/export/power_510_32/usr/bin/automake line 5077, <GEN0> line 264. configure.in: installing `./install-sh' configure.in: installing `./mkinstalldirs' configure.in: installing `./missing' automake: no `Makefile.am' found or specified *** Error code 1 (ignored) ----------------------- End of log -------------------------------------------- And thus no Makefile.in is generated which in turn generates an error when running ./configure The problem is indeed solved by spliting the AC_OUTPUT as shown in the patch.
Ah, I see. Which version of automake is that? It seems kinda workaroundish to split AC_OUTPUT() because of a bug in automake...
We use automake 1.7.1 (compiled by ourselves). IBM proposes the version 1.7.0, do you think we should give it a try ?
I don't really know... Let's not spend too much time on that anyway, because (when done correctly) you shouldn't need to run automake anyway...
OK, let's forget this whole AC_OUTPUT thing, obviously gnome-applets is not responsible for this. Thanks for applying the patch.
I guess since we still don't have native AIX support in GStreamer this bug should remain open? Or should we close this one and create a new 'native AIX output/mixer support' bug?
Or rename it and keep the back history ;) The patches might be useful for writing the mixer component (although obviously not the sink).
Vincent, any chance you will make native GStreamer AIX output plugins with mixer support?
I'm not sure I will have the time for this. Is it more complicated than the direct support in the applet ? Is the work to be done in gstreamer or in gst-plugins ? If I don't have the time, I'd try to find somebody to do it.
It's not that hard. You can use the sunaudio plugin as an example, AIX should be fairly similar. Work should be done in gst-plugins. Sunaudio is to be found in sys/sunaudio/.
OK thanks, I'll look at it when I have some time. If I can't make it I'd try and find someone to do it. By the way, I had a look at the way the patch was applied into CVS and there's a small problem in the configure.in file : In the AC_CHECK_HEADERS macro where the check for sys/audio.h has been added, there are some undesirable commas at the end of the macro which makes the configure script fail when it that case. Here follows the correction, thanks for taking care of that too. Vincent. -------------------------------- Start of Patch -------------------------- --- gnome-applets/configure.in.old 2004-12-17 17:06:48.000000000 +0100 +++ gnome-applets/configure.in 2004-11-15 14:02:43.000000000 +0100 @@ -281,7 +281,7 @@ AC_CHECK_HEADERS(sys/audio.io.h, [P_MIXER=mixer],[ AC_CHECK_HEADERS(sun/audioio.h, [P_MIXER=mixer],[ AC_CHECK_HEADERS(dmedia/audio.h, [P_MIXER=mixer],[ - AC_CHECK_HEADERS(sys/audio.h, [P_MIXER=mixer]),]),]) ]) ]) ]) ]) ]) ]) + AC_CHECK_HEADERS(sys/audio.h, [P_MIXER=mixer]) ]) ]) ]) ]) ]) ]) ]) ]) fi AC_SUBST(MIXER_CFLAGS) --------------------------------- End of patch -----------------------------
Vincent, I've committed this fix for you.
Hi Vincent. You still interested in getting AIX support into GStreamer? Mixers didn't change for GStreamer 0.10, but audio sink elements are significantly easier now. (Updating bug versions)
Hi Andy, Vincent is no more into this project. Thank you for the info (also to Davyd), we will have a look at this new version and try to port it to AIX v 5. Sandie will be the interface now, she will report when she uses this new version of GStreamer. jean-pierre
Any news to this?
Hi Sebastian, unfortunately we (at Bull company) are no more working on the porting of Gnome and related modules on AIX. So I suggest that this bug could be closed or reaffected to someone else as you think. jean-pierre
Ok, let's close this bug for now then until someone wants to work on it.