From: Sangchul Lee Date: Thu, 27 May 2021 10:22:51 +0000 (+0900) Subject: webrtc_source: Check if the extra field of media packet is gstreamer buffer X-Git-Tag: submit/tizen/20210729.023123~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=77d5eddf18feddc4165db8f4c3719603a8206f5c;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_source: Check if the extra field of media packet is gstreamer buffer It is added to avoid failure on 'push-buffer' signal function when the extra field of the media packet is not a gstreamer buffer. [Version] 0.1.174 [Issue Type] Improvement Change-Id: I30643df4cc86bedf0ff116c58eff1893659d947c Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index e673c034..c455e4d5 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.1.173 +Version: 0.1.174 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_source.c b/src/webrtc_source.c index 2a4bbdae..6a8d93fe 100644 --- a/src/webrtc_source.c +++ b/src/webrtc_source.c @@ -1920,10 +1920,9 @@ int _push_media_packet(webrtc_s *webrtc, unsigned int source_id, media_packet_h return WEBRTC_ERROR_NONE; } - /* FIXME: we assume that extra field has gstreamer buffer pointer */ ret = media_packet_get_extra(packet, (void **)&buffer); RET_VAL_IF(ret != MEDIA_PACKET_ERROR_NONE, WEBRTC_ERROR_INVALID_OPERATION, "failed to media_packet_get_extra()"); - if (buffer) { + if (GST_IS_BUFFER(buffer)) { media_format_h format; ret = media_packet_get_format(packet, &format); @@ -1934,7 +1933,6 @@ int _push_media_packet(webrtc_s *webrtc, unsigned int source_id, media_packet_h } media_format_unref(format); - /* FIXME: need more API to check if it is valid gstreamer buffer. */ LOG_DEBUG("external gst buffer[%p]", buffer); g_signal_emit_by_name(G_OBJECT(appsrc), "push-buffer", buffer, &gst_ret, NULL); if (gst_ret != GST_FLOW_OK) {