mc_ret_e mc_gst_prepare(mc_handle_t *mc_handle)
{
- MEDIACODEC_FENTER();
-
int ret = MC_ERROR_NONE;
- media_format_mimetype_e out_mime;
int num_supported_codec = 0;
int i = 0;
- GstCaps *caps = NULL;
-
- if (!mc_handle)
- return MC_PARAM_ERROR;
-
- mediacodec_codec_type_e id;
+ int bitrate = 0;
bool video;
bool encoder;
bool hardware;
gchar *factory_name = NULL;
+ GstCaps *caps = NULL;
+ media_format_mimetype_e out_mime;
+ mediacodec_codec_type_e id;
mc_codec_map_t *codec_map;
+ MEDIACODEC_FENTER();
+
+ if (!mc_handle)
+ return MC_PARAM_ERROR;
+
id = mc_handle->codec_id;
video = mc_handle->is_video;
encoder = mc_handle->is_encoder;
g_object_set(new_core->capsfilter, "caps", caps, NULL);
gst_caps_unref(caps);
+ if (new_core->encoder) {
+ if (new_core->video)
+ bitrate = mc_handle->info.video.bitrate;
+ else
+ bitrate = mc_handle->info.audio.bitrate;
+
+ LOGI("set encoder bitrate[v:%d] %d", new_core->video, bitrate);
+
+ g_object_set(new_core->codec, "bitrate", bitrate, NULL);
+ }
+
mc_handle->core = new_core;
LOGD("initialized... %d", ret);
MEDIACODEC_FLEAVE();