diff options
author | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-02-19 21:17:27 -0300 |
---|---|---|
committer | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-02-24 10:37:57 -0300 |
commit | 2c2e55789d212e1e5a236930404af7902c475f2c (patch) | |
tree | 3d329e40769e895ef8560a0429b5f142fa2bd8e4 /libs | |
parent | f97f70d50ae71f30f127d6c1fee023943009ea6a (diff) | |
download | gstreamer-2c2e55789d212e1e5a236930404af7902c475f2c.tar.gz |
basesrc: Do not send eos when seeking after last buffer
If pushing the last buffer triggers a seek from downstream, do not
go into EOS if a new segment was requested.
Contains unit test
https://bugzilla.gnome.org/show_bug.cgi?id=724757
Diffstat (limited to 'libs')
-rw-r--r-- | libs/gst/base/gstbasesrc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 0f63e5fbee..be12c462d1 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2842,7 +2842,9 @@ gst_base_src_loop (GstPad * pad) goto pause; } - if (G_UNLIKELY (eos)) { + /* Segment pending means that a new segment was configured + * during this loop run */ + if (G_UNLIKELY (eos && !src->priv->segment_pending)) { GST_INFO_OBJECT (src, "pausing after end of segment"); ret = GST_FLOW_EOS; goto pause; |