summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorThiago Santos <ts.santos@sisa.samsung.com>2014-02-19 21:17:27 -0300
committerThiago Santos <ts.santos@sisa.samsung.com>2014-02-24 10:37:57 -0300
commit2c2e55789d212e1e5a236930404af7902c475f2c (patch)
tree3d329e40769e895ef8560a0429b5f142fa2bd8e4 /libs
parentf97f70d50ae71f30f127d6c1fee023943009ea6a (diff)
downloadgstreamer-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.c4
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;