Commit Graph

31 Commits

Author SHA1 Message Date
Mike Blumenkrantz 8e5625dbe6 ecore/audio: add a couple more functions to the pulse callback struct
to be used later

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11528
2020-03-25 22:13:04 +01:00
Jean Guyomarc'h 403b0ecfa6
ecore_audio: drop support for CoreAudio on macOS
CoreAudio support was initially introduced by commit
62e29b39f4 as an experimental feature.

It played basic sounds, but suffered from drawbacks: it was controlling
the master channel, and therefore any sound played by ecore_audio would
shut down a previous sound (e.g. background music) for the time of the
sound being played. So that wasn't exactly great... Also, after some
time, some hangs have been reported when playing a sound on input. Most
of the time, it translated as a pause in the main loop (see T3797).
More recently (several months ago), ecore_audio with CoreAudio stopped
working during 1.19 development...

So... CoreAudio support on macOS has never been great. And now it's fully
broken. Instead of trying to revive the thing, let just use PulseAudio.
PulseAudio can be installed without any trouble on macOS thanks to
package managers such as Homebrew. Actually, the efl package provided by
Homebrew already provides PulseAudio as a dependency. And it actually
just works very fine. Dropping CoreAudio seems therefore a nice option:
removes unmaintained code, fixes bugs, and add features.
2016-10-29 23:01:38 +02:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Carsten Haitzler d27f5fcab7 ecore_audio - save 232k of real RAM by dlopening depednecies
so libpuls and libsndfile suck in dependencies. they suck in so much
that by the time linking is done we've written to about 230kb of
PRIVATE MEMORY as dirty pages in symbol tablesm global veriables etc.
etc. - this is just horrible. especially if an app never makes any
sound... it's just wasted memory. this stuff is invisible to normal
memory debug tools. so this begins to address things. please see
T4227. my numbers now put me at:

1780Kb total dirty writable mapped from library file pages. down from
2012Kb.

This fixes some memory bloat reported in the above ticket, but there
is more to fix for sure.

@fix
2016-08-01 14:41:15 +09:00
Jean Guyomarc'h 62e29b39f4 ecore_audio: integrate Apple's CoreAudio to play sounds on OS X.
Summary:
Ecore_Audio now supports Apple's CoreAudio to play sounds read by libsndfile.
edje_multisense integrates this new feature to enable PLAY_SAMPLE on OS X.

Test Plan:
Compiles, links and installs fine on OS X.
Run terminology and elementary_test to hear sound played on user input.

Reviewers: raster, naguirre, cedric

Reviewed By: cedric

Subscribers: plamot, cedric

Differential Revision: https://phab.enlightenment.org/D2295

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Tom Hacohen 92cc33c46f Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Rafael Antognolli b9836fbc07 Revert "ecore_audio: Add alsa support"
This reverts commit 4db03f700c.
2013-05-03 17:44:07 -03:00
Rafael Antognolli 70e882cefb Revert "ecore_audio: Remove old structs that we don't need anymore"
This reverts commit 96d9869684.
2013-05-03 17:44:01 -03:00
Daniel Willmann 96d9869684 ecore_audio: Remove old structs that we don't need anymore
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Willmann 4db03f700c ecore_audio: Add alsa support
This is not well tested and thus disabled by default

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Willmann c249dc8cee ecore_audio: Update documentation and document ecore_audio_obj
Remove old unused function declarations

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:36:19 +01:00
Daniel Willmann 108509c3f8 ecore_audio: Remember previous seekable state in vio_set
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-29 19:57:16 +01:00
Daniel Willmann 6c7dbf67af ecore_audio: Add vio_set method / write cb to output
ecore_audio_obj_out now also supports VIO. Add attribute need_writer so
we can generalize the idler creation for subclasses at a later time.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01:00
Daniel Willmann 72870c0b6e ecore_audio: Remove duplicate variables/move to appropriate place
* The idler for the write callback is now in the output struct because
  different outputs might need it.
* Remove paused attribute from output - we have it in Ecore_Audio_Object
  already

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01:00
Daniel Willmann 1c0107afd8 ecore_audio: Fix seeking in tone input
Also make seekable be a property of the input as this doesn't make sense
for the output.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-19 15:28:00 +01:00
Daniel Willmann e89153a21d ecore_audio: Implement virtual IO for generic input
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:15:39 +01:00
Daniel Willmann 7255656738 ecore_audio: Add pulseaudio output for eo
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:14:32 +01:00
Daniel Willmann e865d5b0a4 ecore_audio: Add tone input class
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:14:32 +01:00
Daniel Willmann 845aeb5c63 ecore_audio_obj_in: Implemented read and event sending
A protected read function must now be implemented by the child class to
perform the actual reading.

Signals on playback loop and end are sent.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann bd948a81a4 ecore_audio: Add new methods to ecore_audio objects
obj_format_get/set
obj_in_looped_get/set
obj_in_length_get
Change signature of seek

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 1dab08a39e ecore_audio: Clean up the headers
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 48b78234a8 ecore_audio: Build Eo-based Ecore_Audio and tests now
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 4d318ba913 ecore_audio: Implement speed get/set functions
You can now change the playback speed of an input

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-02 16:26:47 +01:00
Gustavo Sverzut Barbieri 0cfc04ae7d efl/ecore_audio: fix doxygen hierarchy.
SVN revision: 81833
2012-12-28 19:47:31 +00:00
Daniel Willmann eb15fa9e9c ecore_audio: Add rudimentary ALSA support
By rudimentary I mean I barely got it to work. For my particular test
case. It will not work for you and needs lots of love until it can be
used.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80999
2012-12-14 23:38:21 +00:00
Daniel Willmann d49fe90b18 ecore_audio: Add support for adding a custom callback
Very hackish implementation and probably not needed as libsndfile
virtual IO can be used instead, though it's a little more complicated

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80998
2012-12-14 23:38:18 +00:00
Daniel Willmann 94ccfd45e8 ecore_audio: Add support for simple tone output
Just plays a sine wave of set frequency and duration

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80997
2012-12-14 23:38:14 +00:00
Daniel Willmann 8c96a841e4 ecore_audio: Add support for libsndfile
Allows reading from and writing to wav, ogg, etc. files. Support for
virtual IO as well to allow playing sounds from eet, which will be
needed in edje multisense.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80996
2012-12-14 23:38:11 +00:00
Daniel Willmann 9293581c62 ecore_audio: Add support for PulseAudio
Only outputs are supported at the moment

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80995
2012-12-14 23:38:08 +00:00
Daniel Willmann 318a88b61f efl: Introducing ecore_audio - the audio API for efl
This is still very much a work in progress, so expect some issues. The
signalling is using ecore events for now - that will change to callbacks
you can register callbacks for events on specific Ecore_Audio_Objects.
EO wasn't there when Ecore_Audio started, but it will probably move to
that in the future.

Otherwise have fun, don't break it (too much) and please send bug
reports and feedback to me.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80994
2012-12-14 23:38:01 +00:00