ecore/audio: remove duplicated vio code from sndfile input
authorMike Blumenkrantz <zmike@samsung.com>
Tue, 17 Mar 2020 16:04:38 +0000 (12:04 -0400)
committerJongmin Lee <jm105.lee@samsung.com>
Thu, 26 Mar 2020 21:04:30 +0000 (06:04 +0900)
this is already done in the base implementation

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11529

src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c

index 97ee2a16cec1a9cba26b332a18dc53ebd7d680a8..492a1c7be7c255d8ef69c494254418de46a82f7c 100644 (file)
@@ -147,15 +147,6 @@ _ecore_audio_in_sndfile_ecore_audio_format_get(const Eo *eo_obj, Ecore_Audio_In_
   return obj->format;;
 }
 
-static void _free_vio(Ecore_Audio_Object *ea_obj)
-{
-  if (ea_obj->vio->free_func)
-    ea_obj->vio->free_func(ea_obj->vio->data);
-
-  free(ea_obj->vio);
-  ea_obj->vio = NULL;
-}
-
 EOLIAN static void
 _ecore_audio_in_sndfile_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_In_Sndfile_Data *obj, Ecore_Audio_Vio *vio, void *data, efl_key_data_free_func free_func)
 {
@@ -168,22 +159,16 @@ _ecore_audio_in_sndfile_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_In_Sndfile_D
     obj->handle = NULL;
   }
 
-  eina_stringshare_replace(&ea_obj->source, "VIO");
-
-  if (!ea_obj->source)
-    return;
-  if (ea_obj->vio)
-    _free_vio(ea_obj);
+  if (vio)
+    eina_stringshare_replace(&ea_obj->source, "VIO");
+  else
+    eina_stringshare_replace(&ea_obj->source, NULL);
 
   in_obj->seekable = EINA_FALSE;
+  ecore_audio_obj_vio_set(efl_super(eo_obj, MY_CLASS), vio, data, free_func);
 
   if (!vio)
     return;
-
-  ea_obj->vio = calloc(1, sizeof(Ecore_Audio_Vio_Internal));
-  ea_obj->vio->vio = vio;
-  ea_obj->vio->data = data;
-  ea_obj->vio->free_func = free_func;
   in_obj->seekable = (vio->seek != NULL);
 
   obj->handle = ESF_CALL(sf_open_virtual)(&vio_wrapper, SFM_READ, &obj->sfinfo, eo_obj);
@@ -213,14 +198,9 @@ _ecore_audio_in_sndfile_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_In_Sndfile_D
 EOLIAN static void
 _ecore_audio_in_sndfile_efl_object_destructor(Eo *eo_obj, Ecore_Audio_In_Sndfile_Data *obj)
 {
-  Ecore_Audio_Object *ea_obj = efl_data_scope_get(eo_obj, ECORE_AUDIO_CLASS);
-
   if (obj->handle)
     ESF_CALL(sf_close)(obj->handle);
 
-  if (ea_obj->vio)
-    _free_vio(ea_obj);
-
   /* TIZEN_ONLY(20161109, 20161202)
    *  (20161109): ecore_audio: Add tizen ecore_audio module(e182090493d623212cd0ee7d55ae4ebd679eff42)
    *  (20161202): ecore_audio: Add 'TIZEN_ONLY' comment