mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
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
This commit is contained in:
parent
d47806320d
commit
d918212e12
1 changed files with 3 additions and 0 deletions
|
@ -1487,6 +1487,7 @@ gst_soup_http_src_do_request (GstSoupHTTPSrc * src, const gchar * method,
|
||||||
do {
|
do {
|
||||||
if (src->interrupted) {
|
if (src->interrupted) {
|
||||||
GST_DEBUG_OBJECT (src, "interrupted");
|
GST_DEBUG_OBJECT (src, "interrupted");
|
||||||
|
src->ret = GST_FLOW_FLUSHING;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (src->retry) {
|
if (src->retry) {
|
||||||
|
@ -1615,6 +1616,7 @@ gst_soup_http_src_unlock (GstBaseSrc * bsrc)
|
||||||
GST_DEBUG_OBJECT (src, "unlock()");
|
GST_DEBUG_OBJECT (src, "unlock()");
|
||||||
|
|
||||||
src->interrupted = TRUE;
|
src->interrupted = TRUE;
|
||||||
|
src->ret = GST_FLOW_FLUSHING;
|
||||||
if (src->loop)
|
if (src->loop)
|
||||||
g_main_loop_quit (src->loop);
|
g_main_loop_quit (src->loop);
|
||||||
g_cond_signal (&src->request_finished_cond);
|
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()");
|
GST_DEBUG_OBJECT (src, "unlock_stop()");
|
||||||
|
|
||||||
src->interrupted = FALSE;
|
src->interrupted = FALSE;
|
||||||
|
src->ret = GST_FLOW_OK;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue