[FFmpeg-devel] ffserver live stream bug

Howard Chu hyc
Fri May 21 02:56:08 CEST 2010


Ronald S. Bultje wrote:
> Hi,
>
> 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
>>> worked
>>> 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 mailing list