asdfuser pushed a commit to branch master.

commit 76509b23406cb0349e183ddbf5a4f05c076b40ce
Author: Daniel Willmann <[email protected]>
Date:   Wed Apr 17 18:49:53 2013 +0100

    ecore_audio: Implement notification when samplerate changes
    
    Signed-off-by: Daniel Willmann <[email protected]>
---
 src/lib/ecore_audio/ecore_audio_obj_in.c | 9 +++++----
 src/lib/ecore_audio/ecore_audio_obj_in.h | 3 +++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/lib/ecore_audio/ecore_audio_obj_in.c 
b/src/lib/ecore_audio/ecore_audio_obj_in.c
index 704e27d..92dc48d 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_in.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_in.c
@@ -20,6 +20,8 @@ EAPI const Eo_Event_Description _ECORE_AUDIO_EV_IN_LOOPED =
          EO_EVENT_DESCRIPTION("in,looped", "Called when an input has looped.");
 EAPI const Eo_Event_Description _ECORE_AUDIO_EV_IN_STOPPED =
          EO_EVENT_DESCRIPTION("in,stopped", "Called when an input has stopped 
playing.");
+EAPI const Eo_Event_Description _ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED =
+         EO_EVENT_DESCRIPTION("in,samplerate,changed", "Called when the input 
samplerate has changed.");
 
 #define MY_CLASS ECORE_AUDIO_OBJ_IN_CLASS
 #define MY_CLASS_NAME "ecore_audio_obj_in"
@@ -37,8 +39,7 @@ static void _speed_set(Eo *eo_obj, void *_pd, va_list *list)
 
   obj->speed = speed;
 
-  /* TODO: Notify output */
-
+  eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED, 
NULL, NULL));
 }
 
 static void _speed_get(Eo *eo_obj, void *_pd, va_list *list)
@@ -59,8 +60,7 @@ static void _samplerate_set(Eo *eo_obj, void *_pd, va_list 
*list)
 
   obj->samplerate = samplerate;
 
-  /* TODO: Notify output */
-
+  eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED, 
NULL, NULL));
 }
 
 static void _samplerate_get(Eo *eo_obj, void *_pd, va_list *list)
@@ -251,6 +251,7 @@ static const Eo_Op_Description op_desc[] = {
 static const Eo_Event_Description *event_desc[] = {
     ECORE_AUDIO_EV_IN_LOOPED,
     ECORE_AUDIO_EV_IN_STOPPED,
+    ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED,
     NULL
 };
 
diff --git a/src/lib/ecore_audio/ecore_audio_obj_in.h 
b/src/lib/ecore_audio/ecore_audio_obj_in.h
index 6da0ec2..f2aa6e3 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_in.h
+++ b/src/lib/ecore_audio/ecore_audio_obj_in.h
@@ -118,6 +118,9 @@ extern const Eo_Event_Description _ECORE_AUDIO_EV_IN_LOOPED;
 extern const Eo_Event_Description _ECORE_AUDIO_EV_IN_STOPPED;
 #define ECORE_AUDIO_EV_IN_STOPPED (&(_ECORE_AUDIO_EV_IN_STOPPED))
 
+extern const Eo_Event_Description _ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED;
+#define ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED 
(&(_ECORE_AUDIO_EV_IN_SAMPLERATE_CHANGED))
+
 /**
  * @}
  */

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to