bool _is_videorate_needed(webrtc_s *webrtc, webrtc_gst_slot_s *source);
GstElement *_prepare_first_capsfilter(webrtc_s *webrtc, webrtc_gst_slot_s *source, int ssrc, int av_idx, GList **element_list, bool *encoded_support, GstCaps **caps_for_render);
GstElement *_prepare_videorate(webrtc_gst_slot_s *source, int ssrc, GList **element_list);
+void _update_payloader_h264_set_outcaps_before_handling_buffer(GstElement *payloader);
void _update_payloader_vp8_picture_id_mode(GstElement *payloader);
int _create_rest_of_elements(webrtc_s *webrtc, webrtc_gst_slot_s *source, int ssrc, bool need_capsfilter, GList **element_list, bool is_audio);
GstCaps *_make_default_encoded_caps(webrtc_gst_slot_s *source, int ssrc, webrtc_ini_s *ini, gchar **media_type);
Name: capi-media-webrtc
Summary: A WebRTC library in Tizen Native API
-Version: 1.1.15
+Version: 1.1.16
Release: 0
Group: Multimedia/API
License: Apache-2.0
goto error;
APPEND_ELEMENT(*element_list, payloader);
+ _update_payloader_h264_set_outcaps_before_handling_buffer(payloader);
_update_payloader_vp8_picture_id_mode(payloader);
if (!(queue = _create_element(DEFAULT_ELEMENT_QUEUE, NULL)))
return videorateCapsfilter;
}
+void _update_payloader_h264_set_outcaps_before_handling_buffer(GstElement *payloader)
+{
+ const gchar *factory_name;
+ const char *prop_name = "set-outcaps-before-handle-buffer";
+
+ ASSERT(payloader);
+
+ factory_name = GST_OBJECT_NAME(gst_element_get_factory(payloader));
+ if (g_strcmp0(factory_name, "rtph264pay"))
+ return;
+
+ if (!g_object_class_find_property(G_OBJECT_GET_CLASS(G_OBJECT(payloader)), prop_name)) {
+ LOG_ERROR("could not find '%s', please check gstreamer rtph264pay", prop_name);
+ return;
+ }
+
+ g_object_set(G_OBJECT(payloader),
+ prop_name, TRUE,
+ NULL);
+
+ LOG_DEBUG("[%s] %s [TRUE]", factory_name, prop_name);
+}
+
void _update_payloader_vp8_picture_id_mode(GstElement *payloader)
{
const gchar *factory_name;