|
|
Log in / Subscribe / Register

API target

API target

Posted Oct 9, 2009 5:44 UTC (Fri) by magnus (subscriber, #34778)
In reply to: API target by ncm
Parent article: LPC: The past, present, and future of Linux audio

It's not my favorite API, but for a cross-platform (incl Windows) VoIP app, I probably would go with Portaudio.

SDL has a nice and friendly audio API, is cross-platform and has worked very well in my experience but it doesn't do recording.

The PulseAudio API is OK to work with as well. It probably would be my choice for a VoIP app if I didn't have to care about portability.

GStreamer is extremely focused on media-player like applications, and all API documentation is built around the assumption that data comes from somewhere else and you're just building a pipeline. Using an application as the data source seems so to be rare and it's not obvious how to do it.


to post comments

API target

Posted Oct 15, 2009 10:12 UTC (Thu) by Uraeus (guest, #33755) [Link] (1 responses)

GStreamer is not focused on 'media player' type applications at all, GStreamer was designed from the very beginning to have a much wider use area. There is a large host of applications using GStreamer which are not media player style applications like Buzztard, Jokosher, PiTiVi, Arista, Transmageddon, Empathy and so on.

As for using an application for the data, that has been addressed quite some time ago and there are now two GStreamer elements called appsrc and appsink which specfically targets getting or sending data to an application.

API target

Posted Oct 17, 2009 21:21 UTC (Sat) by magnus (subscriber, #34778) [Link]

OK. I was speaking from my own experience from a couple of years ago, and I don't recall that appsrc/appsink existed at that time.

Still, I don't think that it is obvious how one should port an audio app using another audio API (ALSA for example) to use GStreamer for output. GStreamer seems to be designed more like a toolkit which you have to design your app around (like GTK for graphics) rather than just the audio bottom layer that most other API:s provide.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds