From 0419c4e0f32e144ff741cc4181126e9adab64c90 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 31 May 2011 10:40:34 -0500 Subject: [PATCH] add append flag to mod_shout --- src/mod/formats/mod_shout/mod_shout.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mod/formats/mod_shout/mod_shout.c b/src/mod/formats/mod_shout/mod_shout.c index a4134db943..4ac6790933 100644 --- a/src/mod/formats/mod_shout/mod_shout.c +++ b/src/mod/formats/mod_shout/mod_shout.c @@ -655,9 +655,6 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char } } else if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { - if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Appending to MP3 not supported.\n"); - } if (!(context->gfp = lame_init())) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate lame\n"); goto error; @@ -781,8 +778,13 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char } } else { + const char *mask = "wb+"; + + if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND)) { + mask = "ab+"; + } /* lame being lame and all has FILE * coded into it's API for some functions so we gotta use it */ - if (!(context->fp = fopen(path, "wb+"))) { + if (!(context->fp = fopen(path, mask))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", path); goto error; }