diff options
| author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2015-05-28 12:51:35 +0200 | 
|---|---|---|
| committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2015-05-29 15:03:05 +0200 | 
| commit | c84f911cee427ea8e1759cccfa99950c1e0988d3 (patch) | |
| tree | 1556397f2ff38a153173aa9e2cb0c5ffe7fdff74 /gst/videorate | |
| parent | 12ac087807232df52392bfb21cdff7f89c393606 (diff) | |
videorate: update the caps framerate only in the GST_PAD_SINK transform_caps direction
When a stream has a variable framerate, videorate calculates it and
forces it on the output caps. However, the code in _transform_caps()
currently also does that if the transform is going in the opposite
direction (GST_PAD_SRC), so during a renegotiation it tries to force
upstream to use the calculated framerate and it fails.
https://bugzilla.gnome.org/show_bug.cgi?id=750032
Diffstat (limited to 'gst/videorate')
| -rw-r--r-- | gst/videorate/gstvideorate.c | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c index aa3cf1460a..19441c70e1 100644 --- a/gst/videorate/gstvideorate.c +++ b/gst/videorate/gstvideorate.c @@ -375,7 +375,7 @@ gst_video_rate_transform_caps (GstBaseTransform * trans,      s1 = gst_structure_copy (s); -    if (videorate->updating_caps) { +    if (videorate->updating_caps && direction == GST_PAD_SINK) {        GST_INFO_OBJECT (trans,            "Only updating caps %" GST_PTR_FORMAT " with framerate" " %d/%d",            caps, videorate->to_rate_numerator, videorate->to_rate_denominator); | 
