[Bug 773509] souphttpsrc: connection loss / reconnect issues
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Oct 31 11:17:22 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=773509
--- Comment #22 from Michael Olbrich <m.olbrich at pengutronix.de> ---
The commit that introduced the problem is 1.8.0-102-g881676411240. It worked
fine in 1.8 and it works if this commit is reverted.
What happens is, that under certain circumstances, a timeout is detected
incorrectly and souphttpsrc reconnects to the server.
The (already applied) patch mitigates the problems because it ensures that this
reconnect works correctly, so most users won't notice the problem.
So far, I've not understood the problem completely. From what I can tell the
problem is this:
The GSocket timeout handling assumes, that the corresponding GMainContext calls
the dispatch function with little delay, if something happened. If this
assumption is violated, then the timeout calculation may go wrong.
The problematic commit introduces a new GMainContext to handle the socket. I am
currently aware of two situations where the assumption above can be violated:
1. Bad timing. This seems to be pretty rare and there is a workaround for this
in comment 14.
2. Pause Playback. I don't know any workarounds, that don't involve a new
thread or disabling timeouts altogether.
I'm not sure if a user visible regression remains. For live sources, situation
1. is next to impossible and pausing makes no sense. For non-live sources, the
user will only notice something, if the HTTP server does not support 'Range'
headers. I'm not sure if souphttpsrc can handle that anyways.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list