From a39d4ddb8fce51a33050bd7cbc6a169d493b5466 Mon Sep 17 00:00:00 2001 From: Sangchul Lee Date: Tue, 9 Nov 2021 15:25:52 +0900 Subject: [PATCH] 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 --- packaging/capi-media-webrtc.spec | 2 +- src/webrtc_sink.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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); -- 2.34.1