mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-16 11:52:01 +00:00
update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7540 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
3624982f79
commit
cd054f7d7a
@ -760,15 +760,12 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!conference->floor_holder) {
|
|
||||||
req_iframe = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (conference->floor_holder != last_member) {
|
if (conference->floor_holder != last_member) {
|
||||||
int iframe = 0;
|
int iframe = 0;
|
||||||
|
#if 0
|
||||||
switch_core_session_message_t msg = { 0 };
|
switch_core_session_message_t msg = { 0 };
|
||||||
|
|
||||||
|
|
||||||
if (!req_iframe) {
|
if (!req_iframe) {
|
||||||
/* Tell the channel to request a fresh vid frame */
|
/* Tell the channel to request a fresh vid frame */
|
||||||
msg.from = __FILE__;
|
msg.from = __FILE__;
|
||||||
@ -776,7 +773,8 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr
|
|||||||
switch_core_session_receive_message(conference->floor_holder->session, &msg);
|
switch_core_session_receive_message(conference->floor_holder->session, &msg);
|
||||||
req_iframe = 1;
|
req_iframe = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (vid_frame->codec->implementation->ianacode == 34) { /* h.263 */
|
if (vid_frame->codec->implementation->ianacode == 34) { /* h.263 */
|
||||||
iframe = (*((int16_t*)vid_frame->data) >> 12 == 6);
|
iframe = (*((int16_t*)vid_frame->data) >> 12 == 6);
|
||||||
} else if (vid_frame->codec->implementation->ianacode == 115) { /* h.263-1998 */
|
} else if (vid_frame->codec->implementation->ianacode == 115) { /* h.263-1998 */
|
||||||
@ -945,7 +943,7 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t * thread,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ready || has_file_data) {
|
if (ready || has_file_data) {
|
||||||
int nt = 0;
|
//int nt = 0;
|
||||||
/* Build a muxed frame for every member that contains the mixed audio of everyone else */
|
/* Build a muxed frame for every member that contains the mixed audio of everyone else */
|
||||||
for (omember = conference->members; omember; omember = omember->next) {
|
for (omember = conference->members; omember; omember = omember->next) {
|
||||||
if (has_file_data && file_sample_len) {
|
if (has_file_data && file_sample_len) {
|
||||||
@ -996,12 +994,12 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t * thread,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
if (nt && conference->not_talking_buf_len && !switch_test_flag(omember, MFLAG_HAS_AUDIO)) {
|
if (nt && conference->not_talking_buf_len && !switch_test_flag(omember, MFLAG_HAS_AUDIO)) {
|
||||||
memcpy(omember->mux_frame, conference->not_talking_buf, conference->not_talking_buf_len);
|
memcpy(omember->mux_frame, conference->not_talking_buf, conference->not_talking_buf_len);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
bptr = (int16_t *) imember->frame;
|
bptr = (int16_t *) imember->frame;
|
||||||
muxed = (int16_t *) omember->mux_frame;
|
muxed = (int16_t *) omember->mux_frame;
|
||||||
|
|
||||||
@ -1010,7 +1008,7 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t * thread,
|
|||||||
switch_normalize_to_16bit(z);
|
switch_normalize_to_16bit(z);
|
||||||
muxed[x] = (int16_t) z;
|
muxed[x] = (int16_t) z;
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
if (total - ready > 1) {
|
if (total - ready > 1) {
|
||||||
conference->not_talking_buf_len = imember->read;
|
conference->not_talking_buf_len = imember->read;
|
||||||
if (!conference->not_talking_buf) {
|
if (!conference->not_talking_buf) {
|
||||||
@ -1019,6 +1017,7 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t * thread,
|
|||||||
memcpy(conference->not_talking_buf, muxed, conference->not_talking_buf_len);
|
memcpy(conference->not_talking_buf, muxed, conference->not_talking_buf_len);
|
||||||
nt++;
|
nt++;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2590,6 +2589,11 @@ static void conference_list(conference_obj_t * conference, switch_stream_handle_
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (switch_channel_test_flag(switch_core_session_get_channel(member->session), CF_VIDEO)) {
|
||||||
|
stream->write_function(stream, "%s%s", count ? "|" : "", "video");
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
if (member == member->conference->floor_holder) {
|
if (member == member->conference->floor_holder) {
|
||||||
stream->write_function(stream, "%s%s", count ? "|" : "", "floor");
|
stream->write_function(stream, "%s%s", count ? "|" : "", "floor");
|
||||||
count++;
|
count++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user