result->ret_time = time_ms;
}
+guchar *__get_plain_string(const gchar *base64_str, uint32_t origin_len)
+{
+ guchar *str;
+ gsize len;
+
+ if (!base64_str)
+ return NULL;
+ if (origin_len == 0)
+ return NULL;
+
+ str = g_base64_decode(base64_str, &len);
+ ASSERT(len == origin_len);
+
+ LOG_DEBUG("base64_str[%s]", base64_str);
+
+ return str;
+}
+
static void __handle_set_audio_stream_info(handler_userdata_s *hdata, espp_service_data_from_client_s *data, espp_service_data_from_server_s *result)
{
int ret;
esplusplayer_audio_stream_info info;
g_autofree guchar *codec_data = NULL;
- gsize len;
ASSERT(hdata);
ASSERT(data);
return;
/* NOTE that decoding 'codec_data' member with base64 here, see the client side. */
- if (info.codec_data_length > 0) {
- LOG_DEBUG("base64 codec_data[%s]", info.codec_data);
- codec_data = g_base64_decode((gchar *)info.codec_data, &len);
- ASSERT(len == info.codec_data_length);
- info.codec_data = (char *)codec_data;
- }
+ codec_data = __get_plain_string((const gchar *)info.codec_data, info.codec_data_length);
+ g_free(info.codec_data);
+ info.codec_data = (char *)codec_data;
+
ret = esplusplayer_set_audio_stream_info((esplusplayer_handle)hdata->espp, &info);
RET_IF(ret != ESPLUSPLAYER_ERROR_TYPE_NONE, "failed to esplusplayer_set_audio_stream_info(), ESPP[%p]", hdata->espp);
int ret;
esplusplayer_video_stream_info info;
g_autofree guchar *codec_data = NULL;
- gsize len;
ASSERT(hdata);
ASSERT(data);
return;
/* NOTE that decoding 'codec_data' member with base64 here, see the client side. */
- if (info.codec_data_length > 0) {
- LOG_DEBUG("base64 codec_data[%s]", info.codec_data);
- codec_data = g_base64_decode((gchar *)info.codec_data, &len);
- ASSERT(len == info.codec_data_length);
- info.codec_data = (char *)codec_data;
- }
+ codec_data = __get_plain_string((const gchar *)info.codec_data, info.codec_data_length);
+ g_free(info.codec_data);
+ info.codec_data = (char *)codec_data;
+
ret = esplusplayer_set_video_stream_info((esplusplayer_handle)hdata->espp, &info);
RET_IF(ret != ESPLUSPLAYER_ERROR_TYPE_NONE, "failed to esplusplayer_set_video_stream_info(), ESPP[%p]", hdata->espp);