From: Jeongmo Yang Date: Mon, 7 Aug 2023 05:24:06 +0000 (+0900) Subject: Bug fix - Invalid bitrate setting X-Git-Tag: accepted/tizen/7.0/unified/20230810.164219^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F80%2F296880%2F3;p=platform%2Fcore%2Fapi%2Fmediacodec.git Bug fix - Invalid bitrate setting - The bitrate for video encoder can be changed to 0. [Version] 0.6.29 [Issue Type] Bug fix Change-Id: I3927f28107b159f9c1866a9f7734937ea5ae8c0d Signed-off-by: Jeongmo Yang --- diff --git a/packaging/capi-media-codec.spec b/packaging/capi-media-codec.spec index 9da8792..90c1480 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.28 +Version: 0.6.29 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 69f60ba..1eb6e84 100644 --- a/src/media_codec_port_gst.c +++ b/src/media_codec_port_gst.c @@ -1071,6 +1071,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; @@ -1078,7 +1079,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; @@ -1098,13 +1098,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); } } @@ -1112,7 +1115,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); @@ -1130,10 +1132,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; } } }