[gstreamer-bugs] [Bug 533619] udpsink dies when Linux fails (for no reason) sendto() with non-posix errno

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue May 20 11:38:45 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=533619

  GStreamer | gst-plugins-good | Ver: 0.10.x




------- Comment #6 from Gustaf Räntilä  2008-05-20 18:38 UTC -------
I was thinking about that - counting consecutive EPERM's and failing after a
"decent" number of them.
But then it stroke me; Why fail at all?

If someone streams, but wants to halt (long or perhaps continous, think webcam)
a stream from being streamed for a few minutes by temporarily telling its OS
(through iptables for instance) to not allow the packets, but then change back
to accept them, shouldn't gstreamer allow that? Should gstreamer really be
"afraid" of EPERM's at all?
Most UDP applications are hard to find the error for when there's a firewall
issue, simply because they don't "fail", the packets gets lost in the FW, but
again; They don't fail.

Even worse, udpsink is basically (from what I could see of the source code) an
alias for multiudpsink with only 1 destination. But what if you have several
destinations, but then want to disallow one of them for a while. All other
streams end!

I think my patch is the only reasonable solution; basically ignoring EPERM,
just like most other software seems to be doing.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=533619.




More information about the Gstreamer-bugs mailing list