diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-04-09 10:56:29 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-04-09 10:56:29 +0200 |
commit | d918212e127a1cfe9b19ecc514f4835c5ee00ea9 (patch) | |
tree | 38c1182217049b31bb70316f01396254352e64a4 | |
parent | d47806320d13df5e2c8db7e07a87c54c75c5b6a1 (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.c | 3 |
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; } |