class_docstr: Reads raw audio data from any audio file that Gstreamer
  knows how to decode.
  
      >>> with GstAudioFile('something.mp3') as f:
      >>>     print f.samplerate
      >>>     print f.channels
      >>>     print f.duration
      >>>     for block in f:
      >>>         do_something(block)
  
  Iterating the object yields blocks of 16-bit PCM data. Three
  pieces of stream information are also available: samplerate (in Hz),
  number of channels, and duration (in seconds).
  
  It's very important that the client call close() when it's done
  with the object. Otherwise, the program is likely to hang on exit.
  Alternatively, of course, one can just use the file as a context
  manager, as shown above.
class_docstr_tok: ["Reads","raw","audio","data","from","any","audio","file","that","Gstreamer","knows","how","to","decode",".",">",">",">","with","GstAudioFile","(","'something.mp3","'",")","as","f",":",">",">",">","print","f.samplerate",">",">",">","print","f.channels",">",">",">","print","f.duration",">",">",">","for","block","in","f",":",">",">",">","do_something","(","block",")","Iterating","the","object","yields","blocks","of","16-bit","PCM","data",".","Three","pieces","of","stream","information","are","also","available",":","samplerate","(","in","Hz",")",",","number","of","channels",",","and","duration","(","in","seconds",")",".","It","'s","very","important","that","the","client","call","close","(",")","when","it","'s","done","with","the","object",".","Otherwise",",","the","program","is","likely","to","hang","on","exit",".","Alternatively",",","of","course",",","one","can","just","use","the","file","as","a","context","manager",",","as","shown","above","."]
docstr: The callback for decodebin's "unknown-type" signal.
          
code: def _unkown_type(self, uridecodebin, decodebin, caps):
      """The callback for decodebin's "unknown-type" signal."""
      # This is called *before* the stream becomes ready when the
      # file can't be read.
      streaminfo = caps.to_string()
      if not streaminfo.startswith("audio/"):
          # Ignore non-audio (e.g., video) decode errors.
          return
      self.read_exc = UnknownTypeError(streaminfo)
      self.ready_sem.release()
  
imports: import gi
  from gi.repository import GLib, Gst
  import sys
  import threading
  import os
  import queue
  from urllib.parse import quote
  from .exceptions import DecodeError
  from .base import AudioFile
label_desc: Use image node_id 6 for calling the GstAudioFile obj's underlying member method code with example usage: obj._unkown_type(uridecodebin, decodebin, caps) without return types