# File gstreamer/sample/media-type2.rb, line 114
  def get_stream(stream)
    @pipeline.play
    while @format == nil && @pipeline.iterate do end
    @pipeline.pause
    return nil if @format == nil
    track_format = Gst::Format.find 'logical_stream'
    @decoder_pad.formats.each do |format|
      value = @decoder_pad.query(Gst::QueryType::TOTAL, format.type_id)
      case format.type_id
      when Gst::Format::TIME
        stream.length_time = value ? value : 1
      else
        stream.length_tracks = value if format == track_format && value != nil
      end
    end
    stream.length_tracks = 1 if stream.length_tracks == 0
    value = @source_pad.query(Gst::QueryType::TOTAL, Gst::Format::BYTES)
    if value
      seconds = stream.length_time.to_f / Gst::SECOND 
      bits = value * 8
      stream.bitrate = bits / seconds
    end
    return stream
  end