mplayer.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:barbieri-playground 作者: barbieri 项目源码 文件源码
def _readline(self, timeout=0):
        if not self.proc:
            return None

        p = select.poll()
        flag_err = select.POLLERR | select.POLLHUP
        rfile = self.proc.stdout
        p.register(rfile, flag_err | select.POLLIN | select.POLLPRI)

        buf = StringIO.StringIO()
        while self.playing:
            lst = p.poll(timeout)
            if not lst:
                line = buf.getvalue()
                buf.close()
                self.log.debug("Time out!: %r" % line)
                return line

            for fd, flags in lst:
                if flags & flag_err:
                    self.log.debug("Error reading MPlayer: %s, flags=%x" %
                                   (fd, flags))
                    self.emit("error", "Problems reading MPlayer output")
                    return None

                c = rfile.read(1)
                buf.write(c)
                if c == "\n" or c == "\r":
                    line = buf.getvalue()
                    buf.close()
                    return line
    # _readline()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号