projects
/
platform
/
upstream
/
gst-plugins-base.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
183e94b
)
videodecoder: Avoid recursive drain/flush calls
author
Edward Hervey
<edward@centricular.com>
Tue, 7 Jun 2016 08:31:59 +0000
(10:31 +0200)
committer
Edward Hervey
<bilboed@bilboed.com>
Tue, 7 Jun 2016 08:31:59 +0000
(10:31 +0200)
_chain_forward() can also be called with reverse playback. Blindly
calling drain_out() on DISCONT buffers would end up in a recursive
call.
gst-libs/gst/video/gstvideodecoder.c
patch
|
blob
|
history
diff --git
a/gst-libs/gst/video/gstvideodecoder.c
b/gst-libs/gst/video/gstvideodecoder.c
index ebcd7f237547e80f7019a3a74e20f5ac0ad5fd8d..c2e5f0df4ea210a4a1dedad42d145ce0282c325b 100644
(file)
--- a/
gst-libs/gst/video/gstvideodecoder.c
+++ b/
gst-libs/gst/video/gstvideodecoder.c
@@
-2179,7
+2179,7
@@
gst_video_decoder_chain_forward (GstVideoDecoder * decoder,
g_return_val_if_fail (priv->packetized || klass->parse, GST_FLOW_ERROR);
- if (GST_BUFFER_IS_DISCONT (buf))
+ if (
decoder->input_segment.rate > 0.0 &&
GST_BUFFER_IS_DISCONT (buf))
ret = gst_video_decoder_drain_out (decoder, FALSE);
if (priv->current_frame == NULL)