Compare commits

...

5 Commits

Author SHA1 Message Date
blackhorse-reddog 6e7ad64240
Merge 3ba4597b88 into 5cb74797fe 2025-01-17 16:40:18 +00: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
2 changed files with 4 additions and 5 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));