]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11425 use specified config name
authorSeven Du <dujinfang@x-y-t.cn>
Mon, 1 Oct 2018 13:39:35 +0000 (21:39 +0800)
committerAndrey Volk <andywolk@gmail.com>
Tue, 16 Jul 2019 20:59:13 +0000 (00:59 +0400)
src/mod/applications/mod_av/avcodec.c

index 4ce30d8e513f13bb56d111564d564589b114a0b8..627c8a2402d7c22b954abe738de252c7ccc3d924 100644 (file)
@@ -409,7 +409,7 @@ static uint8_t ff_input_buffer_padding[AV_INPUT_BUFFER_PADDING_SIZE] = { 0 };
 #define MAX_PROFILES 100
 
 typedef struct avcodec_profile_s {
-       char name[20];
+       char name[64];
        int decoder_thread_count;
        AVCodecContext ctx;
        switch_event_t *options;
@@ -1211,10 +1211,18 @@ static switch_status_t open_encoder(h264_codec_context_t *context, uint32_t widt
                return SWITCH_STATUS_FALSE;
        }
 
-       profile = find_profile(get_profile_name(context->av_codec_id), SWITCH_FALSE);
+       if (!zstr(context->codec_settings.video.config_profile_name)) {
+               profile = find_profile(context->codec_settings.video.config_profile_name, SWITCH_FALSE);
+       }
+
+       if (!profile) {
+               profile = find_profile(get_profile_name(context->av_codec_id), SWITCH_FALSE);
+       }
 
        if (!profile) return SWITCH_STATUS_FALSE;
 
+       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Using config profile: [%s]\n", profile->name);
+
        if (context->encoder_ctx) {
                if (avcodec_is_open(context->encoder_ctx)) {
                        avcodec_close(context->encoder_ctx);