From 53461ed40904f9a9bb801d656281d29f6ebf9358 Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Mon, 7 Aug 2023 14:24:06 +0900 Subject: [PATCH] Bug fix - Invalid bitrate setting - The bitrate for video encoder can be changed to 0. [Version] 0.6.33 [Issue Type] Bug fix Change-Id: I3927f28107b159f9c1866a9f7734937ea5ae8c0d Signed-off-by: Jeongmo Yang --- packaging/capi-media-codec.spec | 2 +- src/media_codec_port_gst.c | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packaging/capi-media-codec.spec b/packaging/capi-media-codec.spec index db7b1f7..36ff021 100644 --- a/packaging/capi-media-codec.spec +++ b/packaging/capi-media-codec.spec @@ -4,7 +4,7 @@ Name: capi-media-codec Summary: A Media Codec library in Tizen Native API -Version: 0.6.32 +Version: 0.6.33 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/media_codec_port_gst.c b/src/media_codec_port_gst.c index 6198e44..2c86a99 100644 --- a/src/media_codec_port_gst.c +++ b/src/media_codec_port_gst.c @@ -1081,6 +1081,7 @@ static void mc_gst_port_free(mc_gst_port_t *port) gboolean _mc_update_packet_info(mc_gst_core_t *core, media_format_h format) { + gint bitrate = 0; gboolean is_format_change = FALSE; mc_gst_port_def_t *input_port_def = &core->ports[in_port_index]->port_def; @@ -1088,7 +1089,6 @@ gboolean _mc_update_packet_info(mc_gst_core_t *core, media_format_h format) if (core->video) { gint width = 0; gint height = 0; - gint bitrate = 0; gint framerate = 0; gchar *sformat = NULL; media_format_mimetype_e mimetype = 0; @@ -1108,13 +1108,16 @@ gboolean _mc_update_packet_info(mc_gst_core_t *core, media_format_h format) } if (core->encoder) { + bitrate *= 1000; sformat = __mc_get_gst_input_format(mimetype, core->is_hw); - is_format_change |= ((input_port_def->info.video.bitrate != bitrate * 1000) && (bitrate != 0)); + is_format_change |= ((input_port_def->info.video.bitrate != bitrate) && (bitrate != 0)); is_format_change |= g_strcmp0(input_port_def->info.video.format, sformat); if (is_format_change) { - LOGD("Bitrate changed : %d -> %d", input_port_def->info.video.bitrate, bitrate); + if (bitrate != 0) { + LOGD("Bitrate changed : %d -> %d", input_port_def->info.video.bitrate, bitrate); + input_port_def->info.video.bitrate = bitrate; + } LOGD("Format changed : %s -> %s", input_port_def->info.video.format, sformat); - input_port_def->info.video.bitrate = bitrate * 1000; input_port_def->info.video.format = g_strdup(sformat); } } @@ -1122,7 +1125,6 @@ gboolean _mc_update_packet_info(mc_gst_core_t *core, media_format_h format) gint channel; gint samplerate; gint bit; - gint bitrate; media_format_get_audio_info(format, NULL, &channel, &samplerate, &bit, &bitrate); @@ -1140,10 +1142,11 @@ gboolean _mc_update_packet_info(mc_gst_core_t *core, media_format_h format) } if (core->encoder) { - is_format_change |= ((input_port_def->info.audio.bitrate != bitrate * 1000) && (bitrate != 0)); + bitrate *= 1000; + is_format_change |= ((input_port_def->info.audio.bitrate != bitrate) && (bitrate != 0)); if (is_format_change) { LOGD("Bitrate changed : %d -> %d", input_port_def->info.audio.bitrate, bitrate); - input_port_def->info.audio.bitrate = bitrate * 1000; + input_port_def->info.audio.bitrate = bitrate; } } } -- 2.7.4