Commit b3f3492a authored by Thibault Saunier's avatar Thibault Saunier

render: Stop forcing format in restriction caps

This was a workaround for decoders that were allowing upstream
renegotiation while not actually supporting it, or while downstream
was fixed and encoder upstream renegotiation often leads to new
output format, thus the renegotiation was leading to NNEs

This is possible thanks to the following commit in -base.

    commit 9ce8cf89ba2d2047b4735f8a834d4659d12f91d1
    Author: Thibault Saunier <>
    Date:   Sun Apr 22 10:49:29 2018 -0300

        encodebin: Also lock input caps when dynamic output is disabled

        With the way caps negotiation work in encoders, the only way to ensure
        that no downstream renegotiation is done in the encoder is to also lock
        upstream caps. Anyway with the current behavior upstream of encoders
        *require* to handle any file format so locking upstream format should
        be safe.

Bump our GStreamer dependency to 1.14.1 as it is now required.
parent 447ecc36
......@@ -417,7 +417,7 @@ def initialize_modules():
# a specific version requirement, they have the "None" value.
GST_VERSION = "1.14.1"
HARD_DEPENDENCIES = [GICheck("3.20.0"),
......@@ -1701,8 +1701,6 @@ class Project(Loggable, GES.Project):
"height": 576,
"framerate": Gst.Fraction(25, 1),
"pixel-aspect-ratio": Gst.Fraction(1, 1),
"format": Gst.ValueArray(ALL_RAW_VIDEO_FORMATS),
prev_vals = None
......@@ -1715,10 +1713,6 @@ class Project(Loggable, GES.Project):
ref_restrictions = profile.get_restriction()
for struct in ref_restrictions:
if not struct["format"]:
struct["format"] = Gst.ValueArray(ALL_RAW_VIDEO_FORMATS)
self._ensureRestrictions(profile, defaults, ref_restrictions,
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment