[FFmpeg-devel] ffserver live stream bug
Fri May 21 02:56:08 CEST 2010
Ronald S. Bultje wrote:
> On Wed, May 19, 2010 at 8:46 AM, Howard Chu<hyc at highlandsun.com> wrote:
>> Howard Chu wrote:
>>> How is it that things got to be this way? This rtsp stuff surely hasn't
>>> at all, in ages...
>> When receiving a live stream, ffserver hits 100% CPU usage because it
>> busyloops while reading the non-blocking input socket. It should simply
>> return from the read loop, to allow the poll loop to continue. With this
>> patch ffserver's CPU usage drops from 100% to only 1% while receiving and
>> broadcasting a stream.
>> - if (ff_neterrno() != FF_NETERROR(EAGAIN)&&
>> - ff_neterrno() != FF_NETERROR(EINTR))
>> - /* error : close connection */
>> - goto fail;
>> + if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
>> + ff_neterrno() == FF_NETERROR(EINTR))
>> + return 0;
>> + /* error : close connection */
>> + goto fail;
> Note how the same can be accomplished by just this patch in the same place:
> + return 0;
Yes, I noticed that afterward. Obviously that works.
> but yes I think this is fine, ffserver maint?
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
More information about the ffmpeg-devel