if ((sink_caps = __make_default_encoded_caps(source, &webrtc->ini, NULL))) {
PRINT_CAPS(sink_caps, "capsfilter");
g_object_set(G_OBJECT(capsfilter), "caps", sink_caps, NULL);
- gst_caps_unref(sink_caps);
+ source->av[idx].render.appsrc_caps = sink_caps;
}
source->av[idx].render.need_decoding = true;
if ((sink_caps = __make_default_raw_caps(source, &webrtc->ini))) {
PRINT_CAPS(sink_caps, "capsfilter");
g_object_set(G_OBJECT(capsfilter), "caps", sink_caps, NULL);
- gst_caps_unref(sink_caps);
+ source->av[idx].render.appsrc_caps = sink_caps;
}
+
+ __add_probe_to_pad_for_render(source, idx, gst_element_get_static_pad(capsfilter, "src"), __source_data_probe_cb);
}
if (source->type == WEBRTC_MEDIA_SOURCE_TYPE_SCREEN && !source->zerocopy_enabled) {
g_free(encoder_name);
source->av[idx].render.need_decoding = false;
- __add_probe_to_pad_for_render(source, idx, gst_element_get_static_pad(capsfilter, "src"), __source_data_probe_cb);
skip_encoder:
CREATE_ELEMENT_FROM_REGISTRY(elem_info, GST_KLASS_NAME_PAYLOADER_RTP,
g_free(media_type);
- g_object_get(G_OBJECT(capsfilter), "caps", &sink_caps, NULL);
- if (sink_caps)
- source->av[idx].render.appsrc_caps = sink_caps;
-
return WEBRTC_ERROR_NONE;
error: