summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-04-09 10:56:29 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-04-09 10:56:29 +0200
commitd918212e127a1cfe9b19ecc514f4835c5ee00ea9 (patch)
tree38c1182217049b31bb70316f01396254352e64a4
parentd47806320d13df5e2c8db7e07a87c54c75c5b6a1 (diff)
souphttpsrc: Use GST_FLOW_FLUSHING when flushing, not GST_FLOW_EOS
... and reset it properly after flushing is done. Fixes playback in many cases when buffering is used. https://bugzilla.gnome.org/show_bug.cgi?id=727821
-rw-r--r--ext/soup/gstsouphttpsrc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c
index bc3d5241e..26d8654a3 100644
--- a/ext/soup/gstsouphttpsrc.c
+++ b/ext/soup/gstsouphttpsrc.c
@@ -1487,6 +1487,7 @@ gst_soup_http_src_do_request (GstSoupHTTPSrc * src, const gchar * method,
do {
if (src->interrupted) {
GST_DEBUG_OBJECT (src, "interrupted");
+ src->ret = GST_FLOW_FLUSHING;
break;
}
if (src->retry) {
@@ -1615,6 +1616,7 @@ gst_soup_http_src_unlock (GstBaseSrc * bsrc)
GST_DEBUG_OBJECT (src, "unlock()");
src->interrupted = TRUE;
+ src->ret = GST_FLOW_FLUSHING;
if (src->loop)
g_main_loop_quit (src->loop);
g_cond_signal (&src->request_finished_cond);
@@ -1631,6 +1633,7 @@ gst_soup_http_src_unlock_stop (GstBaseSrc * bsrc)
GST_DEBUG_OBJECT (src, "unlock_stop()");
src->interrupted = FALSE;
+ src->ret = GST_FLOW_OK;
return TRUE;
}