FS-7514: not hardcoded H264 anymore
This commit is contained in:
parent
282b04a880
commit
78efac8154
|
@ -694,7 +694,7 @@ SWITCH_STANDARD_APP(play_video_function)
|
||||||
switch_channel_t *channel = switch_core_session_get_channel(session);
|
switch_channel_t *channel = switch_core_session_get_channel(session);
|
||||||
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
|
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
|
||||||
switch_frame_t audio_frame = { 0 }, video_frame = { 0 };
|
switch_frame_t audio_frame = { 0 }, video_frame = { 0 };
|
||||||
switch_codec_t codec = { 0 }, vid_codec = { 0 }, *read_vid_codec;
|
switch_codec_t codec = { 0 }, *read_vid_codec;
|
||||||
switch_timer_t timer = { 0 };
|
switch_timer_t timer = { 0 };
|
||||||
switch_payload_t pt = 0;
|
switch_payload_t pt = 0;
|
||||||
switch_dtmf_t dtmf = { 0 };
|
switch_dtmf_t dtmf = { 0 };
|
||||||
|
@ -800,20 +800,6 @@ SWITCH_STANDARD_APP(play_video_function)
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (switch_core_codec_init(&vid_codec,
|
|
||||||
"H264",
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
|
|
||||||
NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) {
|
|
||||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Video Codec Activation Success\n");
|
|
||||||
} else {
|
|
||||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Video Codec Activation Fail\n");
|
|
||||||
switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Video codec activation failed");
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
|
|
||||||
audio_datalen = codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000);
|
audio_datalen = codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000);
|
||||||
|
|
||||||
context->session = session;
|
context->session = session;
|
||||||
|
@ -957,10 +943,6 @@ end:
|
||||||
switch_core_codec_destroy(&codec);
|
switch_core_codec_destroy(&codec);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (switch_core_codec_ready(&vid_codec)) {
|
|
||||||
switch_core_codec_destroy(&vid_codec);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE);
|
switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1196,7 +1178,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session,
|
||||||
char name[256];
|
char name[256];
|
||||||
vlc_private_t *tech_pvt = NULL;
|
vlc_private_t *tech_pvt = NULL;
|
||||||
switch_caller_profile_t *caller_profile;
|
switch_caller_profile_t *caller_profile;
|
||||||
// const char *err;
|
const char *codec_str = NULL;
|
||||||
|
|
||||||
switch_assert(vlc_endpoint_interface);
|
switch_assert(vlc_endpoint_interface);
|
||||||
|
|
||||||
|
@ -1223,7 +1205,6 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session,
|
||||||
caller_profile = switch_caller_profile_clone(*new_session, outbound_profile);
|
caller_profile = switch_caller_profile_clone(*new_session, outbound_profile);
|
||||||
switch_channel_set_caller_profile(channel, caller_profile);
|
switch_channel_set_caller_profile(channel, caller_profile);
|
||||||
|
|
||||||
|
|
||||||
if (switch_core_codec_init(&tech_pvt->read_codec,
|
if (switch_core_codec_init(&tech_pvt->read_codec,
|
||||||
"L16",
|
"L16",
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -1248,8 +1229,22 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session,
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
codec_str = switch_event_get_header(var_event, "absolute_codec_string");
|
||||||
|
|
||||||
|
if (!codec_str && session) {
|
||||||
|
switch_codec_t *codec = switch_core_session_get_video_read_codec(session);
|
||||||
|
if (codec) {
|
||||||
|
codec_str = codec->implementation->iananame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!codec_str) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No video codec?\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if (switch_core_codec_init(&tech_pvt->video_codec,
|
if (switch_core_codec_init(&tech_pvt->video_codec,
|
||||||
"H264",
|
codec_str,
|
||||||
NULL,
|
NULL,
|
||||||
90000,
|
90000,
|
||||||
0,
|
0,
|
||||||
|
|
Loading…
Reference in New Issue