GNOME Bugzilla – Bug 772141
videorate: negotiation failure with input rate 0/1 drop-only=true and downstream capsfilter
Last modified: 2018-11-03 11:50:11 UTC
Only happens with drop-only=true. Reproduce with: $ gst-launch-1.0 videotestsrc num-buffers=50 ! vp8enc ! matroskamux ! filesink location=/tmp/foo.mkv $ gst-launch-1.0 filesrc location=/tmp/foo.mkv ! decodebin ! videorate drop-only=false ! video/x-raw,framerate=1/5 ! fakesink --> works $ gst-launch-1.0 filesrc location=/tmp/foo.mkv ! decodebin ! videorate drop-only=true ! video/x-raw,framerate=1/5 ! fakesink --> not-negotiated error (Let's ignore for now the fact that matroskamux/matroskdemux encode a rate of 0/1 here.)
The framerate field is not real part of the Matroska spec, it's greyed out in there. However we try to guess the framerate from the default duration... which apparently fails here
We do, but not for VP8. See commit 23594b0324e4bfdc153fcf89569b74bdb918c94d in -good... See bug #654379
Created attachment 336484 [details] [review] videorate: If drop-only=TRUE and input is 0/1, allow setting any output framerate We will ensure that we are always below that, but won't ensure that it's exactly that framerate.
Problem here is that we won't ensure that it's exactly that framerate. The negotiation failure might be intentional. We might want to set the max-framerate field instead but that's not going to solve your negotiation failure.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/295.