FS-6756 lame_init_params must be called after setting all id3tag stuff, otherwise id3 tags will not be written.
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.
This commit is contained in:
parent
8e473c3c89
commit
3f0d6b3f2d
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue