From: Sangchul Lee Date: Tue, 9 Nov 2021 06:25:52 +0000 (+0900) Subject: webrtc_sink: Set channel and samplerate if available when making a media format X-Git-Tag: submit/tizen/20211110.084340~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a39d4ddb8fce51a33050bd7cbc6a169d493b5466;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_sink: Set channel and samplerate if available when making a media format This code blocks is activated when user calls webrtc_set_encoded_audio_frame_cb(). [Version] 0.3.5 [Issue Type] Improvement Change-Id: I663a3e3416beb2cf974f346c43bd0b750ae79737 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index abd614de..a093534e 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.3.4 +Version: 0.3.5 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_sink.c b/src/webrtc_sink.c index b5f478ba..5b9fdc38 100644 --- a/src/webrtc_sink.c +++ b/src/webrtc_sink.c @@ -645,11 +645,25 @@ static media_format_h __make_media_format(GstPad *pad) } } } else if (mimetype & MEDIA_FORMAT_AUDIO) { + gint channels = 0; + gint rate = 0; + ret = media_format_set_audio_mime(format, mimetype); if (ret != MEDIA_FORMAT_ERROR_NONE) { LOG_ERROR("failed to media_format_set_audio_mime()"); goto error; } + + gst_structure_get_int(structure, "channels", &channels); + gst_structure_get_int(structure, "rate", &rate); + if (channels > 0 && rate > 0) { + ret |= media_format_set_audio_channel(format, channels); + ret |= media_format_set_audio_samplerate(format, rate); + if (ret != MEDIA_FORMAT_ERROR_NONE) { + LOG_ERROR("failed to media_format_set_audio_channel/samplerate()"); + goto error; + } + } } gst_caps_unref(caps);