]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6756 lame_init_params must be called after setting all id3tag stuff, otherwise...
authorMatteo Brancaleoni <mbrancaleoni@voismart.it>
Wed, 22 Oct 2014 10:31:21 +0000 (12:31 +0200)
committerMatteo Brancaleoni <mbrancaleoni@voismart.it>
Wed, 22 Oct 2014 10:31:21 +0000 (12:31 +0200)
So, instead of calling it early, revert FS-3646 and add a check on free_context to really do lame stuff only
if lame has been set ready, avoid seg faults in some corner cases.

src/mod/formats/mod_shout/mod_shout.c

index 6dfa0726ea25b1d679123d807cb76196426f2699..553ef4e889944b8657efcad4449f0f287d5e695d 100644 (file)
@@ -166,7 +166,7 @@ static inline void free_context(shout_context_t *context)
                        mpg123_delete(context->mh);
                }
 
-               if (context->fp) {
+               if (context->fp && context->lame_ready) {
                        unsigned char mp3buffer[20480];
                        int len;
                        int16_t blank[2048] = { 0 }, *r = NULL;
@@ -854,11 +854,6 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char
                                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", path);
                                goto error;
                        }
-                       if (!context->lame_ready) {
-                               lame_init_params(context->gfp);
-                               lame_print_config(context->gfp);
-                               context->lame_ready = 1;
-                       }
                }
        }