Compare commits

...

6 Commits

Author SHA1 Message Date
blackhorse-reddog 6e7ad64240
Merge 3ba4597b88 into 5cb74797fe 2025-01-17 16:40:18 +00:00
Aron Podrigal 5cb74797fe
[mod_pgsql] err is now set correctly (dbh:last_error())
New function, `void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)` has been added to mod_pgsql module. This function is now called at several points where an error occurred but *err was not yet set.
2025-01-17 18:51:45 +03:00
blackhorse-reddog 3ba4597b88
Merge branch 'signalwire:master' into master 2021-11-04 16:34:31 +01:00
Piroska Gabor 49bac7e082 Merge branch 'master' of https://github.com/signalwire/freeswitch 2020-07-09 09:21:24 +02:00
Piroska Gabor be5fdb57c5 Set the CFLAG_VID_FLOOR_LOCK before the floor would taken by the member to prevent the floor state from being stolen. 2020-04-28 14:32:36 +02:00
Piroska Gabor ab2a9691c4 Update avformat.c
Modifications in av_format.c:

s->url should be created by av_strdup instead of strdup, because ffmpeg's util.c uses av_freep(&s->url); to free it. Currently it can cause a crash.

If codec_id is AV_CODEC_IP_MPEG4 (which is choosen by ffmpeg if the file extension is mp4), timebase denominator should be 48000 instead of 90000: "timebase 1/90000 not supported by MPEG 4 standard, the maximum admitted value for the timebase denominator is 65535"
2020-04-28 13:59:02 +02:00
3 changed files with 32 additions and 6 deletions

View File

@ -611,10 +611,10 @@ static switch_status_t add_stream(av_file_context_t *context, MediaStream *mst,
c->width = mst->width;
c->height = mst->height;
c->bit_rate = mm->vb * 1024;
mst->st->time_base.den = 90000;
mst->st->time_base.den = (codec_id == AV_CODEC_ID_MPEG4 ? 48000 : 90000);
mst->st->time_base.num = 1;
c->time_base.den = 90000;
c->time_base.num = 1;
c->time_base.den = mst->st->time_base.den;
c->time_base.num = mst->st->time_base.num;
c->gop_size = fps * 10; /* emit one intra frame every 10 frames at most */
c->pix_fmt = AV_PIX_FMT_YUV420P;
//c->thread_count = threads;

View File

@ -1090,9 +1090,8 @@ switch_status_t conference_member_add(conference_obj_t *conference, conference_m
if (conference_utils_member_test_flag(member, MFLAG_JOIN_VID_FLOOR)) {
conference_video_set_floor_holder(conference, member, SWITCH_TRUE);
conference_utils_set_flag(member->conference, CFLAG_VID_FLOOR_LOCK);
conference_video_set_floor_holder(conference, member, SWITCH_TRUE);
if (test_eflag(conference, EFLAG_FLOOR_CHANGE)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "conference %s OK video floor %d %s\n",
conference->name, member->id, switch_channel_get_name(member->channel));

View File

@ -106,6 +106,22 @@ char * pgsql_handle_get_error(switch_pgsql_handle_t *handle)
return err_str;
}
void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)
{
char *err_str;
if (err && !(*err)) {
err_str = pgsql_handle_get_error(handle);
if (zstr(err_str)) {
switch_safe_free(err_str);
err_str = strdup((char *)"SQL ERROR!");
}
*err = err_str;
}
}
static int db_is_up(switch_pgsql_handle_t *handle)
{
int ret = 0;
@ -553,8 +569,15 @@ switch_status_t pgsql_handle_exec_detailed(const char *file, const char *func, i
goto error;
}
return pgsql_finish_results(handle);
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
goto error;
}
return SWITCH_STATUS_SUCCESS;
error:
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE;
}
@ -630,6 +653,7 @@ done:
pgsql_free_result(&result);
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
pgsql_handle_set_error_if_not_set(handle, err);
sstatus = SWITCH_STATUS_FALSE;
}
@ -638,6 +662,7 @@ done:
error:
pgsql_free_result(&result);
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE;
}
@ -1050,6 +1075,8 @@ switch_status_t pgsql_handle_callback_exec_detailed(const char *file, const char
return SWITCH_STATUS_SUCCESS;
error:
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE;
}