FS-10131: [freeswitch-core] Incorrect video decode flags in some places #resolve

This commit is contained in:
Anthony Minessale committed 2017-03-13 14:50:50 -05:00
1 parent 42499edf26
commit de8c37975b
7 files changed
+24 -12

No files matched your search

+3 -1
View File
@@ -844,7 +844,7 @@ SWITCH_STANDARD_APP(record_av_function)
goto done;
}
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
switch_core_media_get_vid_params(session, &vid_params);
switch_channel_set_flag(channel, CF_VIDEO_ECHO);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "video size: %dx%d\n", vid_params.width, vid_params.height);
@@ -1120,6 +1120,8 @@ SWITCH_STANDARD_APP(record_av_function)
end:
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
if (fc) {
if (has_video) close_stream(fc, &video_st);
if (has_audio) close_stream(fc, &audio_st);
@@ -2357,7 +2357,7 @@ SWITCH_STANDARD_APP(conference_function)
switch_core_session_receive_message(session, &msg);
if (conference_utils_test_flag(conference, CFLAG_TRANSCODE_VIDEO)) {
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
switch_core_media_gen_key_frame(session);
}
@@ -2377,6 +2377,9 @@ SWITCH_STANDARD_APP(conference_function)
} while (member.loop_loop);
}
switch_core_session_video_reset(session);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
switch_core_session_set_video_read_callback(session, NULL, NULL);
switch_core_session_set_text_read_callback(session, NULL, NULL);
+3 -2
View File
@@ -1182,6 +1182,9 @@ SWITCH_STANDARD_APP(cv_start_function)
switch_core_session_set_video_read_callback(session, NULL, NULL);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_ECHO);
uninit_context(&context);
switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
@@ -1200,13 +1203,11 @@ static switch_bool_t cv_bug_callback(switch_media_bug_t *bug, void *user_data, s
switch (type) {
case SWITCH_ABC_TYPE_INIT:
{
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
}
break;
case SWITCH_ABC_TYPE_CLOSE:
{
switch_thread_rwlock_unlock(MODULE_INTERFACE->rwlock);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
uninit_context(context);
}
break;
+4 -1
View File
@@ -749,7 +749,7 @@ SWITCH_STANDARD_APP(decode_video_function)
switch_channel_answer(channel);
switch_core_session_request_video_refresh(session);
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
switch_core_media_start_engine_function(session, SWITCH_MEDIA_TYPE_VIDEO, decode_video_thread, &max_pictures);
@@ -764,6 +764,9 @@ SWITCH_STANDARD_APP(decode_video_function)
switch_core_media_end_engine_function(session, SWITCH_MEDIA_TYPE_VIDEO);
switch_core_session_video_reset(session);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
}
@@ -389,13 +389,11 @@ static switch_bool_t chromakey_bug_callback(switch_media_bug_t *bug, void *user_
switch (type) {
case SWITCH_ABC_TYPE_INIT:
{
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
}
break;
case SWITCH_ABC_TYPE_CLOSE:
{
switch_thread_rwlock_unlock(MODULE_INTERFACE->rwlock);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
uninit_context(context);
}
break;
+2 -1
View File
@@ -1513,7 +1513,7 @@ SWITCH_STANDARD_APP(play_video_function)
libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback);
libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_callback, vlc_video_display_callback, context);
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
switch_channel_set_flag_recursive(channel, CF_VIDEO_DECODED_READ);
top:
@@ -1612,6 +1612,7 @@ end:
}
switch_core_session_video_reset(session);
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
if (vlc_handle) libvlc_release(vlc_handle);
}