code: def _audio_item(self, stream_url=None, offset=0, push_buffer=True, opaque_token=None):
          
          audio_item = {'stream': {}}
          stream = audio_item['stream']
  
          # existing stream
          if not stream_url:
              # stream.update(current_stream.__dict__)
              stream['url'] = current_stream.url
              stream['token'] = current_stream.token
              stream['offsetInMilliseconds'] = current_stream.offsetInMilliseconds
  
          # new stream
          else:
              stream['url'] = stream_url
              stream['token'] = opaque_token or str(uuid.uuid4())
              stream['offsetInMilliseconds'] = offset
  
          if push_buffer:  # prevents enqueued streams from becoming current_stream
              push_stream(stream_cache, context['System']['user']['userId'], stream)
          return audio_item
docs: Builds an AudioPlayer Directive's audioItem and updates current_stream