if (!source->av[idx].payloader_factory_name) {
GstElementFactory *factory = gst_element_get_factory(payloader);
source->av[idx].payloader_factory_name = g_strdup(GST_OBJECT_NAME(factory));
+ if (!g_strcmp0(source->av[idx].payloader_factory_name, "rtpvp8pay")) {
+ /* NOTE: picture-id-mode has been set for compatibility with mediasoup.*/
+ #define VP8_PAYLOADER_7BIT_PICTURE_ID 1 /* 7-bit Picture ID */
+ g_object_set(G_OBJECT(payloader),
+ "picture-id-mode", VP8_PAYLOADER_7BIT_PICTURE_ID,
+ NULL);
+ LOG_DEBUG("[%s] set picture-id-mode [%d]",
+ source->av[idx].payloader_factory_name, VP8_PAYLOADER_7BIT_PICTURE_ID);
+ }
}
if (!is_simulcast) {