def __init__(self, room, live=True, error_callback=None, pause=None, use_process=True):
if not live:<EOL><INDENT>if pause is None:<EOL><INDENT>pause = <NUM_LIT:1><EOL><DEDENT>assert pause > <NUM_LIT:0>, '<STR_LIT>'<EOL><DEDENT>elif pause is None:<EOL><INDENT>pause = <NUM_LIT><EOL><DEDENT>Thread.__init__(self)<EOL>self._room = room<EOL>self._live = live<EOL>self._observers = []<EOL>self._error_callback = error_callback<EOL>self._pause = pause<EOL>self._use_process = use_process<EOL>self._streaming = False<EOL>
Initialize.

        Args:
            room (:class:`Room`): Room that is being streamed

        Kwargs:
            live (bool): If True, issue a live stream, otherwise an offline stream
            error_callback (func): A callback to call when an error occurs
            pause (int): Pause in seconds between requests (if live==False), or pause
                         between queue checks
            use_process (bool): If True, use a separate process to fetch the messages

        Raises:
            AssertionError