ecore_audio: Implement notification when samplerate changes
authorDaniel Willmann <d.willmann@samsung.com>
Wed, 17 Apr 2013 17:49:53 +0000 (18:49 +0100)
committerDaniel Willmann <d.willmann@samsung.com>
Thu, 18 Apr 2013 18:14:32 +0000 (19:14 +0100)
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
src/lib/ecore_audio/ecore_audio_obj_in.c
src/lib/ecore_audio/ecore_audio_obj_in.h

index 704e27d68c254f6c287cf3b84ed61618741d66fd..92dc48d98264e499df49a9429f9cba6ce37f2f6c 100644 (file)
@@ -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
 };
 
index 6da0ec2b81cf8374ff91f0e717fefea74915ba99..f2aa6e3290c400b371184754278071d8421babbc 100644 (file)
@@ -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))
+
 /**
  * @}
  */