class_docstr: An audio file decoded by the ffmpeg command-line utility.
class_docstr_tok: ["An","audio","file","decoded","by","the","ffmpeg","command-line","utility","."]
docstr: Reads the tool's output from its stderr stream, extracts the
  relevant information, and parses it.
docstr_tok: ["Reads","the","tool","'s","output","from","its","stderr","stream",",","extracts","the","relevant","information",",","and","parses","it","."]
code: def _get_info(self):
      """Reads the tool's output from its stderr stream, extracts the
      relevant information, and parses it.
      """
      out_parts = []
      while True:
          line = self.proc.stderr.readline()
          if not line:
              # EOF and data not found.
              raise CommunicationError("stream info not found")
  
          # In Python 3, result of reading from stderr is bytes.
          if isinstance(line, bytes):
              line = line.decode("utf8", "ignore")
  
          line = line.strip().lower()
  
          if "no such file" in line:
              raise OSError("file not found")
          elif "invalid data found" in line:
              raise UnsupportedError()
          elif "duration:" in line:
              out_parts.append(line)
          elif "audio:" in line:
              out_parts.append(line)
              self._parse_info("".join(out_parts))
              break
  
imports: import queue
  import re
  import subprocess
  import sys
  import threading
  import time
  from io import DEFAULT_BUFFER_SIZE
  from .exceptions import DecodeError
  from .base import AudioFile
label_desc: Use image node_id 3 for calling the FFmpegAudioFile obj's underlying member method code with example usage: obj._get_info() without return types