]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
don't try to open failed local_stream's (MODFORM-9)
authorMichael Jerris <mike@jerris.com>
Wed, 28 May 2008 04:50:51 +0000 (04:50 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 28 May 2008 04:50:51 +0000 (04:50 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8704 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/formats/mod_local_stream/mod_local_stream.c

index 9e0f38460870f4323297eb75d336ecf8e6653cea..f0b0a5a10020dc4db9f8b85b360a05bb98a918c1 100644 (file)
@@ -115,6 +115,8 @@ static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void
                skip = do_rand();
        }
 
+       switch_core_hash_insert(globals.source_hash, source->name, source);
+
        while (RUNNING) {
                const char *fname;
 
@@ -229,6 +231,8 @@ static void *SWITCH_THREAD_FUNC read_stream_thread(switch_thread_t *thread, void
        }
 
   done:
+       switch_core_hash_delete(globals.source_hash, source->name);
+
        switch_buffer_destroy(&audio_buffer);
 
        if (fd > -1) {
@@ -431,8 +435,6 @@ static void launch_threads(void)
 
                source->samples = switch_samples_per_frame(source->rate, source->interval);
 
-               switch_core_hash_insert(globals.source_hash, source->name, source);
-
                switch_mutex_init(&source->mutex, SWITCH_MUTEX_NESTED, source->pool);
 
                switch_threadattr_create(&thd_attr, source->pool);