class_docstr: Finite state ffmpeg `-i` command option file information parser.
  Is designed to parse the output fast, in one loop. Iterates line by
  line of the `ffmpeg -i <filename> [-f null -]` command output changing
  the internal state of the parser.
  
  Parameters
  ----------
  
  filename
    Name of the file parsed, only used to raise accurate error messages.
  
  infos
    Information returned by FFmpeg.
  
  fps_source
    Indicates what source data will be preferably used to retrieve fps data.
  
  check_duration
    Enable or disable the parsing of the duration of the file. Useful to
    skip the duration check, for example, for images.
  
  decode_file
    Indicates if the whole file has been decoded. The duration parsing strategy
    will differ depending on this argument.
class_docstr_tok: ["Finite","state","ffmpeg","`","-i","`","command","option","file","information","parser",".","Is","designed","to","parse","the","output","fast",",","in","one","loop",".","Iterates","line","by","line","of","the","`","ffmpeg","-i","<","filename",">","[","-f","null","-","]","`","command","output","changing","the","internal","state","of","the","parser",".","Parameters","--","--","--","--","--","filename","Name","of","the","file","parsed",",","only","used","to","raise","accurate","error","messages",".","infos","Information","returned","by","FFmpeg",".","fps_source","Indicates","what","source","data","will","be","preferably","used","to","retrieve","fps","data",".","check_duration","Enable","or","disable","the","parsing","of","the","duration","of","the","file",".","Useful","to","skip","the","duration","check",",","for","example",",","for","images",".","decode_file","Indicates","if","the","whole","file","has","been","decoded",".","The","duration","parsing","strategy","will","differ","depending","on","this","argument","."]
docstr: Reinitializes the state of the parser. Used internally at
  initialization and at the end of the parsing process.
docstr_tok: ["Reinitializes","the","state","of","the","parser",".","Used","internally","at","initialization","and","at","the","end","of","the","parsing","process","."]
code: def _reset_state(self):
      """Reinitializes the state of the parser. Used internally at
      initialization and at the end of the parsing process.
      """
      # could be 2 possible types of metadata:
      #   - file_metadata: Metadata of the container. Here are the tags set
      #     by the user using `-metadata` ffmpeg option
      #   - stream_metadata: Metadata for each stream of the container.
      self._inside_file_metadata = False
  
      # this state is needed if `duration_tag_separator == "time="` because
      # execution of ffmpeg decoding the whole file using `-f null -` appends
      # to the output the blocks "Stream mapping:" and "Output:", which
      # should be ignored
      self._inside_output = False
  
      # flag which indicates that a default stream has not been found yet
      self._default_stream_found = False
  
      # current input file, stream and chapter, which will be built at runtime
      self._current_input_file = {"streams": []}
      self._current_stream = None
      self._current_chapter = None
  
      # resulting data of the parsing process
      self.result = {
          "video_found": False,
          "audio_found": False,
          "metadata": {},
          "inputs": [],
      }
  
      # keep the value of latest metadata value parsed so we can build
      # at next lines a multiline metadata value
      self._last_metadata_field_added = None
  
imports: import os
  import re
  import subprocess
  import warnings
  import numpy
  from moviepy.config import FFMPEG_BINARY
  from moviepy.tools import convert_to_seconds, cross_platform_popen_params
label_desc: Use image node_id 2 for calling the FFmpegInfosParser obj's underlying member method code with example usage: obj._reset_state() without return types