From 9f529075f0fd2889e719dcdaf4d4ca935c040c91 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 31 Jan 2023 17:40:58 +0100 Subject: [PATCH] Uncoditionally request keyframes --- src/voip/WebRTCSession.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/voip/WebRTCSession.cpp b/src/voip/WebRTCSession.cpp index 73e71030..7760e2ea 100644 --- a/src/voip/WebRTCSession.cpp +++ b/src/voip/WebRTCSession.cpp @@ -301,10 +301,9 @@ testPacketLoss(gpointer G_GNUC_UNUSED) void setWaitForKeyFrame(GstBin *decodebin G_GNUC_UNUSED, GstElement *element, gpointer G_GNUC_UNUSED) { - if (!std::strcmp( - gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(gst_element_get_factory(element))), - "rtpvp8depay")) - g_object_set(element, "wait-for-keyframe", TRUE, nullptr); + // Unconditionally enable keyframe wait and requesting keyframes, so that we do that for + // every decode, not just vp8 decoding + g_object_set(element, "wait-for-keyframe", TRUE, "request-keyframe", TRUE, nullptr); } GstElement *