]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
simplify file interface for stream file interfaces, cleanup.
authorMichael Jerris <mike@jerris.com>
Mon, 31 Dec 2007 19:41:39 +0000 (19:41 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 31 Dec 2007 19:41:39 +0000 (19:41 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7042 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/formats/mod_local_stream/mod_local_stream.c
src/mod/formats/mod_tone_stream/mod_tone_stream.c
src/switch_core_file.c

index 37a9ed44a9e0ee036e18b85a8c8baedb1c3f8e94..0bbaf9b5a8db8ab77c57b59e33fcd5895406ab40 100644 (file)
@@ -85,7 +85,6 @@ static int do_rand(void)
        return index;
 }
 
-
 static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void *obj)
 {
        local_stream_source_t *source = obj;
@@ -151,7 +150,6 @@ static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void
                                        }
                                        continue;
                                }
-                               
                        }
 
                        if (skip > 0) {
@@ -180,7 +178,6 @@ static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void
                                return NULL;
                        }
 
-
                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Playing %s rate: %d\n", fname, source->rate);
 
                        while (RUNNING) {
@@ -217,7 +214,6 @@ static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void
 
                switch_dir_close(source->dir_handle);
                source->dir_handle = NULL;
-
        }
 
        if (fd > -1) {
@@ -262,8 +258,6 @@ static switch_status_t local_stream_file_open(switch_file_handle_t *handle, cons
                goto end;
        }       
 
-       
-
        handle->samples = 0;
        handle->samplerate = source->rate;
        handle->channels = source->channels;
@@ -318,11 +312,6 @@ static switch_status_t local_stream_file_close(switch_file_handle_t *handle)
        return SWITCH_STATUS_SUCCESS;
 }
 
-static switch_status_t local_stream_file_seek(switch_file_handle_t *handle, unsigned int *cur_sample, int64_t samples, int whence)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
 static switch_status_t local_stream_file_read(switch_file_handle_t *handle, void *data, size_t *len)
 {
     local_stream_context_t *context = handle->private_info;
@@ -344,21 +333,6 @@ static switch_status_t local_stream_file_read(switch_file_handle_t *handle, void
     return SWITCH_STATUS_SUCCESS;
 }
 
-static switch_status_t local_stream_file_write(switch_file_handle_t *handle, void *data, size_t *len)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
-static switch_status_t local_stream_file_set_string(switch_file_handle_t *handle, switch_audio_col_t col, const char *string)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
-static switch_status_t local_stream_file_get_string(switch_file_handle_t *handle, switch_audio_col_t col, const char **string)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
 /* Registration */
 
 static char *supported_formats[SWITCH_MAX_CODECS] = { 0 };
@@ -372,7 +346,6 @@ static void launch_threads(void)
        switch_thread_t *thread;
        switch_threadattr_t *thd_attr = NULL;
 
-
        if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "open of %s failed\n", cf);
                return;
@@ -442,14 +415,11 @@ static void launch_threads(void)
                switch_threadattr_detach_set(thd_attr, 1);
                switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
                switch_thread_create(&thread, thd_attr, read_stream_thread, source, source->pool);
-               
        }
 
        switch_xml_free(xml);
-
 }
 
-
 SWITCH_MODULE_LOAD_FUNCTION(mod_local_stream_load)
 {
        switch_file_interface_t *file_interface;
@@ -462,10 +432,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_local_stream_load)
        file_interface->file_open = local_stream_file_open;
        file_interface->file_close = local_stream_file_close;
        file_interface->file_read = local_stream_file_read;
-       file_interface->file_write = local_stream_file_write;
-       file_interface->file_seek = local_stream_file_seek;
-       file_interface->file_set_string = local_stream_file_set_string;
-       file_interface->file_get_string = local_stream_file_get_string;
 
        memset(&globals, 0, sizeof(globals));
        switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool);
index c917d3d2e5713fa6c18ef56d4e31721662329df7..0f29040650d9203af1dd859f74f4679505c4322c 100644 (file)
  *
  */
 #include <switch.h>
-/* for apr_pstrcat */
-#define DEFAULT_PREBUFFER_SIZE 1024 * 16
 
 SWITCH_MODULE_LOAD_FUNCTION(mod_tone_stream_load);
 SWITCH_MODULE_DEFINITION(mod_tone_stream, mod_tone_stream_load, NULL, NULL);
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_tone_stream_shutdown);
 
-
 static int teletone_handler(teletone_generation_session_t *ts, teletone_tone_map_t *map)
 {
        switch_buffer_t *audio_buffer = ts->user_data;
@@ -113,44 +110,21 @@ static switch_status_t tone_stream_file_close(switch_file_handle_t *handle)
        switch_buffer_t *audio_buffer = handle->private_info;
        
        switch_buffer_destroy(&audio_buffer);
-       
        return SWITCH_STATUS_SUCCESS;
 }
 
-static switch_status_t tone_stream_file_seek(switch_file_handle_t *handle, unsigned int *cur_sample, int64_t samples, int whence)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
 static switch_status_t tone_stream_file_read(switch_file_handle_t *handle, void *data, size_t *len)
 {
        switch_buffer_t *audio_buffer = handle->private_info;
        switch_size_t bytes;
        
-       if ((bytes = (uint32_t) switch_buffer_read_loop(audio_buffer, data, *len * 2)) <= 0) {
+       if ((bytes = switch_buffer_read_loop(audio_buffer, data, *len * 2)) <= 0) {
                *len = 0;
                return SWITCH_STATUS_FALSE;
-       } else {
-               *len = bytes / 2;
        }
 
-
-    return SWITCH_STATUS_SUCCESS;
-}
-
-static switch_status_t tone_stream_file_write(switch_file_handle_t *handle, void *data, size_t *len)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
-static switch_status_t tone_stream_file_set_string(switch_file_handle_t *handle, switch_audio_col_t col, const char *string)
-{
-       return SWITCH_STATUS_FALSE;
-}
-
-static switch_status_t tone_stream_file_get_string(switch_file_handle_t *handle, switch_audio_col_t col, const char **string)
-{
-       return SWITCH_STATUS_FALSE;
+       *len = bytes / 2;
+       return SWITCH_STATUS_SUCCESS;
 }
 
 /* Registration */
@@ -169,10 +143,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_tone_stream_load)
        file_interface->file_open = tone_stream_file_open;
        file_interface->file_close = tone_stream_file_close;
        file_interface->file_read = tone_stream_file_read;
-       file_interface->file_write = tone_stream_file_write;
-       file_interface->file_seek = tone_stream_file_seek;
-       file_interface->file_set_string = tone_stream_file_set_string;
-       file_interface->file_get_string = tone_stream_file_get_string;
 
        /* indicate that the module should continue to be loaded */
        return SWITCH_STATUS_SUCCESS;
index 02cf3ffe67591559446ad135e5be61d7a649ba4c..0b1c5d74b1ab1d4166b0f0ca0dfd429482ba5d14 100644 (file)
@@ -178,6 +178,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_write(switch_file_handle_t *fh,
 
        switch_assert(fh != NULL);
        switch_assert(fh->file_interface != NULL);
+
+       if (!fh->file_interface->file_write) {
+               return SWITCH_STATUS_FALSE;
+       }
        
        if (!switch_test_flag(fh, SWITCH_FILE_NATIVE) && fh->native_rate != fh->samplerate) {
                if (!fh->resampler) {
@@ -225,6 +229,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_seek(switch_file_handle_t *fh,
        switch_assert(fh != NULL);
        switch_assert(fh->file_interface != NULL);
 
+       if (!fh->file_interface->file_seek) {
+               return SWITCH_STATUS_FALSE;
+       }
+
        switch_set_flag(fh, SWITCH_FILE_SEEK);
        status = fh->file_interface->file_seek(fh, cur_pos, samples, whence);
        if (samples) {
@@ -238,6 +246,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_set_string(switch_file_handle_t
        switch_assert(fh != NULL);
        switch_assert(fh->file_interface != NULL);
 
+       if (!fh->file_interface->file_set_string) {
+               return SWITCH_STATUS_FALSE;
+       }
+
        return fh->file_interface->file_set_string(fh, col, string);
 }
 
@@ -246,6 +258,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_get_string(switch_file_handle_t
        switch_assert(fh != NULL);
        switch_assert(fh->file_interface != NULL);
 
+       if (!fh->file_interface->file_get_string) {
+               return SWITCH_STATUS_FALSE;
+       }
+
        return fh->file_interface->file_get_string(fh, col, string);
 
 }